time="2024-07-17T11:34:10Z" level=warning msg="/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/integration-test/docker-compose.yaml: `version` is obsolete" Container integration-test-gateway-1 Creating Container integration-test-authorization-1 Creating Container integration-test-experiment-1 Creating Container integration-test-device-1 Creating Container integration-test-authentication-1 Creating Container integration-test-federation-1 Creating Container integration-test-federation-1 Created Container integration-test-experiment-1 Created Container integration-test-device-1 Created Container integration-test-gateway-1 Created Container integration-test-authentication-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 authorization-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device-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","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"} federation-1 | {"level":"info","message":"Federation Service started successfully"} authorization-1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2024-07-17T11:34:40Z"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} authorization-1 | {"client_addr":"127.0.0.1:38856","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-07-17T11:34:41Z"} authorization-1 | {"client_addr":"127.0.0.1:38856","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.40104,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:41Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1721216081.361487} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1721216081.3626182} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1721216081.3626478} 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":1721216081.3626678} 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":1721216081.3626857} 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":1721216081.3627317,"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":1721216081.3632665} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1721216081.3642116} 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:56666","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-07-17T11:34:41.382688894Z","id":"01J307J7F6YHBB9AV44W9YF77K","name":"crosslab","updated_at":"2024-07-17T11:34:41.382688894Z"},"request_id":"47ed5e85-08d7-4008-bc2c-edd2d70a287f","subsystem":"openfga","timestamp":1721216081.3827817} 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:56666","raw_request":{"schema_version":"1.1","store_id":"01J307J7F6YHBB9AV44W9YF77K","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01J307J7G9GXKMS3M0EJJCCVXJ"},"request_id":"97ffc8d7-5f90-4e60-92e1-aa74e905e970","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216081.4179344} authorization-1 | {"client_addr":"127.0.0.1:38856","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-07-17T11:34:41Z"} authorization-1 | {"client_addr":"127.0.0.1:38856","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.174585,"resp_status":204,"subsystem":"opa","time":"2024-07-17T11:34:41Z"} 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-17T11:34:41Z"} gateway-1 | {"time_local":"17/Jul/2024:11:34:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.013","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"e072b6d7dd6687e6e0808f4cdee8c421"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 9ms","method":"HEAD","requestID":"e072b6d7dd6687e6e0808f4cdee8c421","responseTime":9,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"17/Jul/2024:11:34:49 +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.031","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"e1f089dc1cffdf40af264f44a7eb5dfe"} device-1 | {"level":"info","message":"HEAD /device/status 200 20ms","method":"HEAD","requestID":"9363b980-4430-11ef-b47c-55a12d3fdb12","responseTime":20,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"17/Jul/2024:11:34:49 +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.010","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"d5da83bbbed7e73267ae3d513f67ef3c"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 7ms","method":"HEAD","requestID":"d5da83bbbed7e73267ae3d513f67ef3c","responseTime":7,"status":200,"url":"/authorization/status"} gateway-1 | {"time_local":"17/Jul/2024:11:34:49 +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.015","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"5ac9da591c1c72d086ab0bd4e6dcca91"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 9ms","method":"HEAD","requestID":"936b5aa0-4430-11ef-9e10-39feea7fc610","responseTime":9,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"17/Jul/2024:11:34:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /experiment/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.017","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"b1ab0d85a9115accaa8ec74370f1719b"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 10ms","method":"HEAD","requestID":"936edd10-4430-11ef-952f-df8c213c9772","responseTime":10,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"17/Jul/2024:11:34:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.116","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"74a60bb35499df87d71d06453aafb009"} authentication-1 | {"level":"info","message":"POST /login 201 101ms","method":"POST","requestID":"74a60bb35499df87d71d06453aafb009","responseTime":101,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5Mn0.3dN9mN_EtCtKuKbJPja807gm7EmIrjfUi-UN90mJ06Y","level":"info","message":"auth send jwt","requestID":"2b27f1f2396e9cf1871ab2c4c75c80f5"} authentication-1 | {"level":"info","message":"GET /auth 200 22ms","method":"GET","requestID":"2b27f1f2396e9cf1871ab2c4c75c80f5","responseTime":22,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2b27f1f2396e9cf1871ab2c4c75c80f5"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:52Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.718434,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"2b27f1f2396e9cf1871ab2c4c75c80f5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216092,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5Mn0.3dN9mN_EtCtKuKbJPja807gm7EmIrjfUi-UN90mJ06Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"2b27f1f2396e9cf1871ab2c4c75c80f5","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F798e8dc8-bcdf-4a71-b69f-272a244d397b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2969c7b7-ccb5-454c-a2d4-35486e2a7fac","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216092.4662936} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"2b27f1f2396e9cf1871ab2c4c75c80f5","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"143bebf2-e57e-4388-9941-6fcfaf8c580b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216092.4832625} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"2b27f1f2396e9cf1871ab2c4c75c80f5","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F798e8dc8-bcdf-4a71-b69f-272a244d397b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"ea69e24a-50b6-48c3-9a13-d40569d9200c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216092.5002296} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"40d48849-ad39-493d-8e6c-6ccc613b9e53","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216092.500798} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"2b27f1f2396e9cf1871ab2c4c75c80f5","responseTime":21,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F798e8dc8-bcdf-4a71-b69f-272a244d397b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F798e8dc8-bcdf-4a71-b69f-272a244d397b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:52.500210115Z"}]},"request_id":"29b97ba6-8f57-4b67-9832-c4b32bee2876","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216092.5084941} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2b27f1f2396e9cf1871ab2c4c75c80f5","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2b27f1f2396e9cf1871ab2c4c75c80f5"} gateway-1 | {"time_local":"17/Jul/2024:11:34: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.294","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2b27f1f2396e9cf1871ab2c4c75c80f5"} device-1 | {"level":"info","message":"POST /devices? 201 248ms","method":"POST","requestID":"2b27f1f2396e9cf1871ab2c4c75c80f5","responseTime":248,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5Mn0.3dN9mN_EtCtKuKbJPja807gm7EmIrjfUi-UN90mJ06Y","level":"info","message":"auth send jwt","requestID":"61bc549ca6c1b0c14a3b819eddb8063a"} device-1 | {"level":"info","message":"postDevices called","requestID":"61bc549ca6c1b0c14a3b819eddb8063a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"61bc549ca6c1b0c14a3b819eddb8063a","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:52Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.089804,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"61bc549ca6c1b0c14a3b819eddb8063a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216092,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5Mn0.3dN9mN_EtCtKuKbJPja807gm7EmIrjfUi-UN90mJ06Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"61bc549ca6c1b0c14a3b819eddb8063a","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e55eb9c-06e9-438b-bd1a-0a1db058e854","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a3a460f0-d836-4126-af40-a7290b2a2bca","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216092.5757508} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"61bc549ca6c1b0c14a3b819eddb8063a","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c7776313-3f9a-46da-b226-2d0a3e6bb365","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216092.58802} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"61bc549ca6c1b0c14a3b819eddb8063a","responseTime":10,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e55eb9c-06e9-438b-bd1a-0a1db058e854","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"a5c48dc5-d876-450b-a0ac-bccd1949a2ef","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216092.6045628} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"25de4b43-2037-4121-a2ee-4689045108a5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216092.6047714} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"61bc549ca6c1b0c14a3b819eddb8063a","responseTime":21,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e55eb9c-06e9-438b-bd1a-0a1db058e854","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e55eb9c-06e9-438b-bd1a-0a1db058e854","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:52.604548629Z"}]},"request_id":"56b7570a-5860-40cc-a244-ff352c7bf933","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216092.6127248} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"61bc549ca6c1b0c14a3b819eddb8063a","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"61bc549ca6c1b0c14a3b819eddb8063a"} gateway-1 | {"time_local":"17/Jul/2024:11:34: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.080","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"61bc549ca6c1b0c14a3b819eddb8063a"} device-1 | {"level":"info","message":"POST /devices? 201 72ms","method":"POST","requestID":"61bc549ca6c1b0c14a3b819eddb8063a","responseTime":72,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"88f13491b92b9d4e7c57f47372834b3e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"88f13491b92b9d4e7c57f47372834b3e","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"da535a9bc06368eca89dabc8c03d1ce8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"da535a9bc06368eca89dabc8c03d1ce8","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:34:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.009","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"88f13491b92b9d4e7c57f47372834b3e"} device-1 | {"level":"info","message":"OPTIONS /devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854/websocket 200 3ms","method":"OPTIONS","requestID":"88f13491b92b9d4e7c57f47372834b3e","responseTime":3,"status":200,"url":"/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:34:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/798e8dc8-bcdf-4a71-b69f-272a244d397b/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.013","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"da535a9bc06368eca89dabc8c03d1ce8"} device-1 | {"level":"info","message":"OPTIONS /devices/798e8dc8-bcdf-4a71-b69f-272a244d397b/websocket 200 2ms","method":"OPTIONS","requestID":"da535a9bc06368eca89dabc8c03d1ce8","responseTime":2,"status":200,"url":"/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NH0.417lpDbQZbdXdzkICZszGRoDma0UL9JCyprhonpDmXA","level":"info","message":"auth send jwt","requestID":"fb155c597a10c7722e737f87f7da8cdc"} authentication-1 | {"level":"info","message":"GET /auth 200 13ms","method":"GET","requestID":"fb155c597a10c7722e737f87f7da8cdc","responseTime":13,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"fb155c597a10c7722e737f87f7da8cdc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NH0.417lpDbQZbdXdzkICZszGRoDma0UL9JCyprhonpDmXA","level":"info","message":"auth send jwt","requestID":"43d6876bc2e44242cb61f0874d1cefa2"} authentication-1 | {"level":"info","message":"GET /auth 200 13ms","method":"GET","requestID":"43d6876bc2e44242cb61f0874d1cefa2","responseTime":13,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"43d6876bc2e44242cb61f0874d1cefa2"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:54Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.008293,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"fb155c597a10c7722e737f87f7da8cdc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216094,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NH0.417lpDbQZbdXdzkICZszGRoDma0UL9JCyprhonpDmXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"fb155c597a10c7722e737f87f7da8cdc","responseTime":13,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:54Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.49901,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"43d6876bc2e44242cb61f0874d1cefa2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216094,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NH0.417lpDbQZbdXdzkICZszGRoDma0UL9JCyprhonpDmXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","method":"POST","requestID":"43d6876bc2e44242cb61f0874d1cefa2","responseTime":15,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"43d6876bc2e44242cb61f0874d1cefa2"} gateway-1 | {"time_local":"17/Jul/2024:11:34:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/798e8dc8-bcdf-4a71-b69f-272a244d397b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.062","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"43d6876bc2e44242cb61f0874d1cefa2"} device-1 | {"level":"info","message":"POST /devices/798e8dc8-bcdf-4a71-b69f-272a244d397b/websocket 200 42ms","method":"POST","requestID":"43d6876bc2e44242cb61f0874d1cefa2","responseTime":42,"status":200,"url":"/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"fb155c597a10c7722e737f87f7da8cdc"} gateway-1 | {"time_local":"17/Jul/2024:11:34:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.084","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fb155c597a10c7722e737f87f7da8cdc"} device-1 | {"level":"info","message":"POST /devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854/websocket 200 68ms","method":"POST","requestID":"fb155c597a10c7722e737f87f7da8cdc","responseTime":68,"status":200,"url":"/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NH0.417lpDbQZbdXdzkICZszGRoDma0UL9JCyprhonpDmXA","level":"info","message":"auth send jwt","requestID":"acbe863f3a3a4a2a7c96317b5b724443"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"acbe863f3a3a4a2a7c96317b5b724443","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"acbe863f3a3a4a2a7c96317b5b724443"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:54Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.908412,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"acbe863f3a3a4a2a7c96317b5b724443","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216094,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NH0.417lpDbQZbdXdzkICZszGRoDma0UL9JCyprhonpDmXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"acbe863f3a3a4a2a7c96317b5b724443","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F798e8dc8-bcdf-4a71-b69f-272a244d397b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F798e8dc8-bcdf-4a71-b69f-272a244d397b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:52.500210115Z"}]},"request_id":"251457da-d864-49da-958e-4d7dfd896304","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216094.8750482} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"acbe863f3a3a4a2a7c96317b5b724443","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"acbe863f3a3a4a2a7c96317b5b724443"} gateway-1 | {"time_local":"17/Jul/2024:11:34:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/798e8dc8-bcdf-4a71-b69f-272a244d397b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"acbe863f3a3a4a2a7c96317b5b724443"} device-1 | {"level":"info","message":"GET /devices/798e8dc8-bcdf-4a71-b69f-272a244d397b? 200 27ms","method":"GET","requestID":"acbe863f3a3a4a2a7c96317b5b724443","responseTime":27,"status":200,"url":"/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NH0.417lpDbQZbdXdzkICZszGRoDma0UL9JCyprhonpDmXA","level":"info","message":"auth send jwt","requestID":"66df2f41428ed965c23c3c608fe38aeb"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"66df2f41428ed965c23c3c608fe38aeb","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"66df2f41428ed965c23c3c608fe38aeb"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:54Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.433183,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"66df2f41428ed965c23c3c608fe38aeb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216094,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NH0.417lpDbQZbdXdzkICZszGRoDma0UL9JCyprhonpDmXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"66df2f41428ed965c23c3c608fe38aeb","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e55eb9c-06e9-438b-bd1a-0a1db058e854","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e55eb9c-06e9-438b-bd1a-0a1db058e854","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:52.604548629Z"}]},"request_id":"9fea3706-7672-4391-9914-3a0c4a725ae0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216094.919867} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"66df2f41428ed965c23c3c608fe38aeb","responseTime":8,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"66df2f41428ed965c23c3c608fe38aeb"} gateway-1 | {"time_local":"17/Jul/2024:11:34:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854? 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":"66df2f41428ed965c23c3c608fe38aeb"} device-1 | {"level":"info","message":"GET /devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854? 200 29ms","method":"GET","requestID":"66df2f41428ed965c23c3c608fe38aeb","responseTime":29,"status":200,"url":"/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NH0.417lpDbQZbdXdzkICZszGRoDma0UL9JCyprhonpDmXA","level":"info","message":"auth send jwt","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.803843,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"45030ae27c84cf2d6c8878fb1ca54ae9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216094,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NH0.417lpDbQZbdXdzkICZszGRoDma0UL9JCyprhonpDmXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de"},"level":"info","message":"Attempting to run experiment","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de"},"level":"info","message":"Attempting to book experiment","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de"},"level":"info","message":"Successfully booked experiment","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"96d3da00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"96d47640-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.657027,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"96d3da00-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216094,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NH0.417lpDbQZbdXdzkICZszGRoDma0UL9JCyprhonpDmXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"96d3da00-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.649649,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"96d47640-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216094,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NH0.417lpDbQZbdXdzkICZszGRoDma0UL9JCyprhonpDmXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"96d47640-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F798e8dc8-bcdf-4a71-b69f-272a244d397b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F798e8dc8-bcdf-4a71-b69f-272a244d397b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:52.500210115Z"}]},"request_id":"6e5ecf3a-3c04-48ea-80eb-6fe2ec0c2dfe","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.1621442} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"96d3da00-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e55eb9c-06e9-438b-bd1a-0a1db058e854","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e55eb9c-06e9-438b-bd1a-0a1db058e854","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:52.604548629Z"}]},"request_id":"1d2c295a-7dbe-4ff2-96da-6e08048342a0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.1646245} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"96d47640-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"96d3da00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/798e8dc8-bcdf-4a71-b69f-272a244d397b? 200 38ms","method":"GET","requestID":"96d3da00-4430-11ef-b47c-55a12d3fdb12","responseTime":38,"status":200,"url":"/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"96d47640-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854? 200 35ms","method":"GET","requestID":"96d47640-4430-11ef-b47c-55a12d3fdb12","responseTime":35,"status":200,"url":"/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de"},"level":"info","message":"Setting up experiment","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de"},"level":"info","message":"Successfully locked booking for experiment","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de"},"level":"info","message":"Attempting to update booking for experiment","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de"},"level":"info","message":"Successfully updated booking for experiment","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de"},"level":"info","message":"Successfully set up experiment","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"96e89a80-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"96e8c190-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de"},"level":"info","message":"Successfully running experiment","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.763815,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"96e89a80-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216094,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NH0.417lpDbQZbdXdzkICZszGRoDma0UL9JCyprhonpDmXA"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"96e984e0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"96e89a80-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.553467,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"96e8c190-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216094,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NH0.417lpDbQZbdXdzkICZszGRoDma0UL9JCyprhonpDmXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"96e8c190-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.380997,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e55eb9c-06e9-438b-bd1a-0a1db058e854","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e55eb9c-06e9-438b-bd1a-0a1db058e854","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:52.604548629Z"}]},"request_id":"80e9f45a-abf4-4182-9b9f-b46a5f363edc","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.2966945} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F798e8dc8-bcdf-4a71-b69f-272a244d397b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b9ccb495-3d0d-4ab3-b0c1-50c94eeeb84a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.296975} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"96e8c190-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"96e984e0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"96e984e0-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F798e8dc8-bcdf-4a71-b69f-272a244d397b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F798e8dc8-bcdf-4a71-b69f-272a244d397b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:52.500210115Z"}]},"request_id":"f7c46e99-6723-4497-855c-ee1103104b65","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.2999957} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","method":"POST","requestID":"96e89a80-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0fd780ed-6f3b-4048-91fe-2ab7d01ff0de#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0fd780ed-6f3b-4048-91fe-2ab7d01ff0de","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"b19f97a4-08ed-4bb6-b043-6117275fd80d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.3111982} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"96e8c190-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"48b26a30-6f8e-473b-ab1a-9e631f889000","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.3115659} device-1 | {"level":"info","message":"GET /devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854? 200 40ms","method":"GET","requestID":"96e8c190-4430-11ef-b47c-55a12d3fdb12","responseTime":40,"status":200,"url":"/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9","responseTime":30,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"96e984e0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/798e8dc8-bcdf-4a71-b69f-272a244d397b/signaling 200 40ms","method":"POST","requestID":"96e984e0-4430-11ef-b47c-55a12d3fdb12","responseTime":40,"status":200,"url":"/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"96e89a80-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/798e8dc8-bcdf-4a71-b69f-272a244d397b? 200 48ms","method":"GET","requestID":"96e89a80-4430-11ef-b47c-55a12d3fdb12","responseTime":48,"status":200,"url":"/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"96f089c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"96f0d7e0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e55eb9c-06e9-438b-bd1a-0a1db058e854","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a80ac123-aafd-43f3-a501-3420a19910c6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.3295763} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.377868,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"96f089c0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"96f089c0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F798e8dc8-bcdf-4a71-b69f-272a244d397b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ed5ccbe-d6b8-4665-a1ef-7b607ed3a12e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.3321552} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.158846,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"96f0d7e0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b","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","requestID":"96f089c0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"96f0d7e0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854/signaling 200 12ms","method":"POST","requestID":"96f089c0-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854/signaling"} gateway-1 | {"time_local":"17/Jul/2024:11:34:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.400","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} experiment-1 | {"level":"info","message":"POST /experiments? 201 371ms","method":"POST","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9","responseTime":371,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"96f0d7e0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/798e8dc8-bcdf-4a71-b69f-272a244d397b/signaling 200 13ms","method":"POST","requestID":"96f0d7e0-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"96f348e0-4430-11ef-b47c-55a12d3fdb12"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NX0.sxejCTCMSY7D7ehQorAfK3L4jmeiCXGrJIELqJTl1Ks","level":"info","message":"auth send jwt","requestID":"7a1d64545a4462728887ddc14c3d9369"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"7a1d64545a4462728887ddc14c3d9369","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7a1d64545a4462728887ddc14c3d9369"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e55eb9c-06e9-438b-bd1a-0a1db058e854","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c2711216-c117-40a5-b8fe-c53a03c3f9f2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.3489728} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.156156,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"96f348e0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"96f348e0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"96f348e0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.698513,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} device-1 | {"level":"info","message":"POST /devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854/signaling 200 11ms","method":"POST","requestID":"96f348e0-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"7a1d64545a4462728887ddc14c3d9369","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216095,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NX0.sxejCTCMSY7D7ehQorAfK3L4jmeiCXGrJIELqJTl1Ks"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7a1d64545a4462728887ddc14c3d9369","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de"},"level":"info","message":"Building connection plan","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"4b1257bd-ed7e-4015-a545-ae1c6f6ac12f"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"1e2c5396-b075-4883-9bdc-e1bb5661eb1d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"465bccdd-6aff-4ffa-9400-11ff35ad377f"}]},"level":"info","message":"Built pairwise service configurations","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F798e8dc8-bcdf-4a71-b69f-272a244d397b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F798e8dc8-bcdf-4a71-b69f-272a244d397b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:52.500210115Z"}]},"request_id":"ae0c3952-1185-4300-81c6-23e6735b860b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.359371} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7a1d64545a4462728887ddc14c3d9369","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"96f6a440-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7a1d64545a4462728887ddc14c3d9369"} gateway-1 | {"time_local":"17/Jul/2024:11:34:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/798e8dc8-bcdf-4a71-b69f-272a244d397b? 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":"7a1d64545a4462728887ddc14c3d9369"} device-1 | {"level":"info","message":"GET /devices/798e8dc8-bcdf-4a71-b69f-272a244d397b? 200 21ms","method":"GET","requestID":"7a1d64545a4462728887ddc14c3d9369","responseTime":21,"status":200,"url":"/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b?"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.698747,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"96f6a440-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216094,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NH0.417lpDbQZbdXdzkICZszGRoDma0UL9JCyprhonpDmXA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"96f6a440-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NX0.sxejCTCMSY7D7ehQorAfK3L4jmeiCXGrJIELqJTl1Ks","level":"info","message":"auth send jwt","requestID":"8781702fb88c4d22384c19e0b402b2c7"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8781702fb88c4d22384c19e0b402b2c7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8781702fb88c4d22384c19e0b402b2c7"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.931807,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"8781702fb88c4d22384c19e0b402b2c7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216095,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NX0.sxejCTCMSY7D7ehQorAfK3L4jmeiCXGrJIELqJTl1Ks"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8781702fb88c4d22384c19e0b402b2c7","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"47589ebd-a1dc-4529-8abc-6723744d9373","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.3866348} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3024698-7877-42e0-a5fb-fae0a40c7792","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.3868885} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"96f6a440-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e55eb9c-06e9-438b-bd1a-0a1db058e854","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e55eb9c-06e9-438b-bd1a-0a1db058e854","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:52.604548629Z"}]},"request_id":"2f9c20b3-6a36-4d4a-957f-37b95a18f96e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.3912785} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"8781702fb88c4d22384c19e0b402b2c7","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8781702fb88c4d22384c19e0b402b2c7"} gateway-1 | {"time_local":"17/Jul/2024:11:34:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8781702fb88c4d22384c19e0b402b2c7"} device-1 | {"level":"info","message":"GET /devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854? 200 29ms","method":"GET","requestID":"8781702fb88c4d22384c19e0b402b2c7","responseTime":29,"status":200,"url":"/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"96f6a440-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"96f6a440-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324'","requestID":"96f6a440-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324'","requestID":"96f6a440-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"96f6a440-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 49ms","method":"POST","requestID":"96f6a440-4430-11ef-b47c-55a12d3fdb12","responseTime":49,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"96f6a440-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324","device":"798e8dc8-bcdf-4a71-b69f-272a244d397b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324","device":"5e55eb9c-06e9-438b-bd1a-0a1db058e854","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"45030ae27c84cf2d6c8878fb1ca54ae9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"97032760-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F798e8dc8-bcdf-4a71-b69f-272a244d397b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"83314df6-3544-407d-899c-17aa79bb4623","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.4513602} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.159366,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"97032760-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"97032760-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"97032760-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/798e8dc8-bcdf-4a71-b69f-272a244d397b/signaling 200 9ms","method":"POST","requestID":"97032760-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9704fc20-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e55eb9c-06e9-438b-bd1a-0a1db058e854","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"874a12a9-9feb-40c2-a201-e8c1c952ecab","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.463319} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.357616,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9704fc20-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9704fc20-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9704fc20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854/signaling 200 11ms","method":"POST","requestID":"9704fc20-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854/signaling"} device-1 | {"device":"798e8dc8-bcdf-4a71-b69f-272a244d397b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"798e8dc8-bcdf-4a71-b69f-272a244d397b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"5e55eb9c-06e9-438b-bd1a-0a1db058e854","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"5e55eb9c-06e9-438b-bd1a-0a1db058e854","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 1613781073847622451 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:RpW3\r\na=ice-pwd:JRO618sA5wincR1g94YyGbak\r\na=ice-options:trickle\r\na=fingerprint:sha-256 0F:58:C9:9D:CA:3C:C4:0B:E2:A4:F4:52:E7:B2:DF:EA:AA:E1:8D:86:56:10:9D:1C:3E:94:F8:EF:E5:2A:AC:8A\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"5e55eb9c-06e9-438b-bd1a-0a1db058e854","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 1190337049665247292 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:m1FU\r\na=ice-pwd:1w8fx6h070xedPXngIQOf5ZJ\r\na=ice-options:trickle\r\na=fingerprint:sha-256 95:4A:8B:38:43:89:21:0A:5F:8E:9C:8E:0D:9B:DF:24:C6:BE:17:E6:2D:3E:12:A3:89:6D:40:4E:A6:B2:15:35\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"798e8dc8-bcdf-4a71-b69f-272a244d397b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:4139445483 1 udp 2113937151 66894944-8096-4d37-a17c-eed66cee9756.local 55865 typ host generation 0 ufrag m1FU network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"798e8dc8-bcdf-4a71-b69f-272a244d397b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b'"} device-1 | {"content":{"candidate":"candidate:1704021496 1 udp 1677729535 141.24.211.56 55865 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag m1FU network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"798e8dc8-bcdf-4a71-b69f-272a244d397b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1854462879 1 udp 2113937151 7ce280b6-b158-489d-b9ac-05ae0ce3c22e.local 49172 typ host generation 0 ufrag RpW3 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"5e55eb9c-06e9-438b-bd1a-0a1db058e854","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3936727520 1 udp 1677729535 141.24.211.56 49172 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag RpW3 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"5e55eb9c-06e9-438b-bd1a-0a1db058e854","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854'"} device-1 | {"device":"5e55eb9c-06e9-438b-bd1a-0a1db058e854","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"5e55eb9c-06e9-438b-bd1a-0a1db058e854","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"798e8dc8-bcdf-4a71-b69f-272a244d397b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"798e8dc8-bcdf-4a71-b69f-272a244d397b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ca395b08-dbf1-44fe-8a54-663fcf86c324","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5e55eb9c-06e9-438b-bd1a-0a1db058e854","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"798e8dc8-bcdf-4a71-b69f-272a244d397b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"798e8dc8-bcdf-4a71-b69f-272a244d397b","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8d47059644275c742b99d4153dfd7b9a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8d47059644275c742b99d4153dfd7b9a","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/798e8dc8-bcdf-4a71-b69f-272a244d397b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324"}}},"level":"info","message":"received a callback","requestID":"8d47059644275c742b99d4153dfd7b9a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 12ms","method":"POST","requestID":"8d47059644275c742b99d4153dfd7b9a","responseTime":12,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:34:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch","requestID":"8d47059644275c742b99d4153dfd7b9a"} device-1 | {"data":{"peerconnection":"ca395b08-dbf1-44fe-8a54-663fcf86c324","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ca395b08-dbf1-44fe-8a54-663fcf86c324","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/ca395b08-dbf1-44fe-8a54-663fcf86c324' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ca395b08-dbf1-44fe-8a54-663fcf86c324","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"27ad7800445dca301fc2eb29bb97f277","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"27ad7800445dca301fc2eb29bb97f277","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/798e8dc8-bcdf-4a71-b69f-272a244d397b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324"}}},"level":"info","message":"received a callback","requestID":"27ad7800445dca301fc2eb29bb97f277"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"97188420-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fca395b08-dbf1-44fe-8a54-663fcf86c324","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"28b2cc7a-6cf4-4041-a5d8-977051be068b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.5916038} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.210501,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"97188420-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324","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","method":"POST","requestID":"97188420-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"97188420-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324 200 10ms","method":"GET","requestID":"97188420-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"27ad7800445dca301fc2eb29bb97f277","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:34:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"27ad7800445dca301fc2eb29bb97f277"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"971cf0f0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NX0.sxejCTCMSY7D7ehQorAfK3L4jmeiCXGrJIELqJTl1Ks","level":"info","message":"auth send jwt","requestID":"854f34d4f85f916517621873de9c2da3"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F798e8dc8-bcdf-4a71-b69f-272a244d397b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"96618c19-54f2-4c71-bd12-2a0c6c50e602","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.6210744} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"854f34d4f85f916517621873de9c2da3","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.919528,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"971cf0f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b","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":"Handling GET request on endpoint /experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de","requestID":"854f34d4f85f916517621873de9c2da3"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"971cf0f0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"971cf0f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/798e8dc8-bcdf-4a71-b69f-272a244d397b/signaling 200 12ms","method":"POST","requestID":"971cf0f0-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.70866,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"854f34d4f85f916517621873de9c2da3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216095,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NX0.sxejCTCMSY7D7ehQorAfK3L4jmeiCXGrJIELqJTl1Ks"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"854f34d4f85f916517621873de9c2da3","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"971f61f0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e55eb9c-06e9-438b-bd1a-0a1db058e854","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c65ef49-9070-41d9-a7d7-31c62dc86cf9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.636272} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.521845,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de","requestID":"854f34d4f85f916517621873de9c2da3"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"971f61f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"971f61f0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"17/Jul/2024:11:34:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"854f34d4f85f916517621873de9c2da3"} experiment-1 | {"level":"info","message":"GET /experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de 200 18ms","method":"GET","requestID":"854f34d4f85f916517621873de9c2da3","responseTime":18,"status":200,"url":"/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"971f61f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854/signaling 200 10ms","method":"POST","requestID":"971f61f0-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NX0.sxejCTCMSY7D7ehQorAfK3L4jmeiCXGrJIELqJTl1Ks","level":"info","message":"auth send jwt","requestID":"65cd40c84984e1e174e47b1b276fe6e9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"65cd40c84984e1e174e47b1b276fe6e9","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de","requestID":"65cd40c84984e1e174e47b1b276fe6e9"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.031172,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"65cd40c84984e1e174e47b1b276fe6e9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216095,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NX0.sxejCTCMSY7D7ehQorAfK3L4jmeiCXGrJIELqJTl1Ks"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"65cd40c84984e1e174e47b1b276fe6e9","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de"},"level":"info","message":"Attempting to finish experiment","requestID":"65cd40c84984e1e174e47b1b276fe6e9"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"972443f0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.752782,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"972443f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216095,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NX0.sxejCTCMSY7D7ehQorAfK3L4jmeiCXGrJIELqJTl1Ks"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"972443f0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324","device":"798e8dc8-bcdf-4a71-b69f-272a244d397b","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324","device":"5e55eb9c-06e9-438b-bd1a-0a1db058e854","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ca395b08-dbf1-44fe-8a54-663fcf86c324","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5483fbbc7ecf42ce0c28e797853d1e58","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5483fbbc7ecf42ce0c28e797853d1e58","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/798e8dc8-bcdf-4a71-b69f-272a244d397b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324"}}},"level":"info","message":"received a callback","requestID":"5483fbbc7ecf42ce0c28e797853d1e58"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"71e7bc3a9f163ca6bd0875f793687f87","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"71e7bc3a9f163ca6bd0875f793687f87","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324"}}},"level":"info","message":"received a callback","requestID":"71e7bc3a9f163ca6bd0875f793687f87"} device-1 | {"data":{"peerconnection":"ca395b08-dbf1-44fe-8a54-663fcf86c324","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fca395b08-dbf1-44fe-8a54-663fcf86c324': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fca395b08-dbf1-44fe-8a54-663fcf86c324","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"6174279f-1542-4fb1-989c-df304b064d8b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.6933632} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4a185d1f-61cb-4f52-a33e-096adca57ec7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.693824} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"972443f0-4430-11ef-b47c-55a12d3fdb12","responseTime":20,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"972443f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324 204 49ms","method":"DELETE","requestID":"972443f0-4430-11ef-b47c-55a12d3fdb12","responseTime":49,"status":204,"url":"/peerconnections/ca395b08-dbf1-44fe-8a54-663fcf86c324"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de"},"level":"info","message":"Successfully finished experiment","requestID":"65cd40c84984e1e174e47b1b276fe6e9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"972fdcb0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F798e8dc8-bcdf-4a71-b69f-272a244d397b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8ce98722-9fbd-4112-a126-05654182fb36","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.746272} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.341828,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"972fdcb0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"972fdcb0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"972fdcb0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/798e8dc8-bcdf-4a71-b69f-272a244d397b/signaling 200 13ms","method":"POST","requestID":"972fdcb0-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"973274c0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.2373,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5e55eb9c-06e9-438b-bd1a-0a1db058e854","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8d2db5d9-a159-45b3-aa4d-2e1cc518dd9d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.7617683} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0fd780ed-6f3b-4048-91fe-2ab7d01ff0de': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0fd780ed-6f3b-4048-91fe-2ab7d01ff0de","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"616b33f3-d3e3-4372-9a87-7d059de453f8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.762591} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7203e605-9783-4b88-9068-9c7062dbe7ee","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.7629328} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"973274c0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"973274c0-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"973274c0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"65cd40c84984e1e174e47b1b276fe6e9","responseTime":34,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"POST /devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854/signaling 200 16ms","method":"POST","requestID":"973274c0-4430-11ef-b47c-55a12d3fdb12","responseTime":16,"status":200,"url":"/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de","requestID":"65cd40c84984e1e174e47b1b276fe6e9"} gateway-1 | {"time_local":"17/Jul/2024:11:34:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"65cd40c84984e1e174e47b1b276fe6e9"} experiment-1 | {"level":"info","message":"DELETE /experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de 204 185ms","method":"DELETE","requestID":"65cd40c84984e1e174e47b1b276fe6e9","responseTime":185,"status":204,"url":"/experiments/0fd780ed-6f3b-4048-91fe-2ab7d01ff0de"} gateway-1 | {"time_local":"17/Jul/2024:11:34:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.159","http_referrer":"","http_user_agent":"node-fetch","requestID":"5483fbbc7ecf42ce0c28e797853d1e58"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 156ms","method":"POST","requestID":"5483fbbc7ecf42ce0c28e797853d1e58","responseTime":156,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NX0.sxejCTCMSY7D7ehQorAfK3L4jmeiCXGrJIELqJTl1Ks","level":"info","message":"auth send jwt","requestID":"e8a60d3af91c61a8f900b3a9d433bfdd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 154ms","method":"POST","requestID":"71e7bc3a9f163ca6bd0875f793687f87","responseTime":154,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:34:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.160","http_referrer":"","http_user_agent":"node-fetch","requestID":"71e7bc3a9f163ca6bd0875f793687f87"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e8a60d3af91c61a8f900b3a9d433bfdd","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e8a60d3af91c61a8f900b3a9d433bfdd"} gateway-1 | {"time_local":"17/Jul/2024:11:34:55 +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.014","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c7074bf0e1c48c50d78b967d6f8254d1"} gateway-1 | {"time_local":"17/Jul/2024:11:34:55 +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.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":"da18d830480ab4f75cdeab7fdd340eb0"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.724487,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"e8a60d3af91c61a8f900b3a9d433bfdd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216095,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NX0.sxejCTCMSY7D7ehQorAfK3L4jmeiCXGrJIELqJTl1Ks"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e8a60d3af91c61a8f900b3a9d433bfdd","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/798e8dc8-bcdf-4a71-b69f-272a244d397b' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5e55eb9c-06e9-438b-bd1a-0a1db058e854' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9164248-0a8a-4928-a81b-444a91241e14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"724548c5-cb89-4e66-968a-17a3b9a09540","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.8691661} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e8a60d3af91c61a8f900b3a9d433bfdd","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"18704342-4930-4f5c-8d3f-f4f7e425db90","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.8762488} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"e8a60d3af91c61a8f900b3a9d433bfdd","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9164248-0a8a-4928-a81b-444a91241e14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"7bf3c72a-b61c-4c73-8340-8354f3cec637","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.8879762} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b85e63d4-ada1-476e-bea3-c369ae21760f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.8883212} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"e8a60d3af91c61a8f900b3a9d433bfdd","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9164248-0a8a-4928-a81b-444a91241e14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9164248-0a8a-4928-a81b-444a91241e14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:55.887960956Z"}]},"request_id":"5c512532-2202-4c76-83c5-76b78b293930","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.8936992} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e8a60d3af91c61a8f900b3a9d433bfdd","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e8a60d3af91c61a8f900b3a9d433bfdd"} gateway-1 | {"time_local":"17/Jul/2024:11:34:55 +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":"e8a60d3af91c61a8f900b3a9d433bfdd"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"e8a60d3af91c61a8f900b3a9d433bfdd","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NX0.sxejCTCMSY7D7ehQorAfK3L4jmeiCXGrJIELqJTl1Ks","level":"info","message":"auth send jwt","requestID":"61f07345d36373345a926a154d21e4e3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"61f07345d36373345a926a154d21e4e3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"61f07345d36373345a926a154d21e4e3"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.88376,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"61f07345d36373345a926a154d21e4e3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216095,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5NX0.sxejCTCMSY7D7ehQorAfK3L4jmeiCXGrJIELqJTl1Ks"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"61f07345d36373345a926a154d21e4e3","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7d80ba1d-6187-4d2a-b7ad-2edc178218a7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.9527586} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"61f07345d36373345a926a154d21e4e3","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0335f37f-66be-45bc-83e7-297a25570b7a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.961603} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"61f07345d36373345a926a154d21e4e3","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"8f182cee-3ce9-4669-82ad-ece31d5e0d8e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.9826078} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"758275a6-03bc-45ff-9d39-debb26d111d6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.983287} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"61f07345d36373345a926a154d21e4e3","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:55.982584044Z"}]},"request_id":"eb7d9050-ed01-41c9-aa56-b6b162253e23","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216095.9930563} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"61f07345d36373345a926a154d21e4e3","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"61f07345d36373345a926a154d21e4e3"} gateway-1 | {"time_local":"17/Jul/2024:11:34:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.099","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"61f07345d36373345a926a154d21e4e3"} device-1 | {"level":"info","message":"POST /devices? 201 94ms","method":"POST","requestID":"61f07345d36373345a926a154d21e4e3","responseTime":94,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5Nn0.aICB4dkvaLaMi8Ad-C8hxVeOgmb6TbyG6VGQKwilMns","level":"info","message":"auth send jwt","requestID":"93e41f8ce29bbdc17ead81f19a42dfa3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"93e41f8ce29bbdc17ead81f19a42dfa3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"93e41f8ce29bbdc17ead81f19a42dfa3"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.684079,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"93e41f8ce29bbdc17ead81f19a42dfa3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216096,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5Nn0.aICB4dkvaLaMi8Ad-C8hxVeOgmb6TbyG6VGQKwilMns"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"93e41f8ce29bbdc17ead81f19a42dfa3","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:55.982584044Z"}]},"request_id":"a726f61d-f513-4d21-9548-5a4ca9b9cf59","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216096.6083908} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"93e41f8ce29bbdc17ead81f19a42dfa3","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"caf7195d-a218-45d2-8fa4-647a1b540819","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216096.617922} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"93e41f8ce29bbdc17ead81f19a42dfa3","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:55.982584044Z"}]},"request_id":"f35fc59e-4321-4252-9180-05787eb63c8a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216096.6389616} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"93e41f8ce29bbdc17ead81f19a42dfa3","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"93e41f8ce29bbdc17ead81f19a42dfa3"} gateway-1 | {"time_local":"17/Jul/2024:11:34:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.076","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"93e41f8ce29bbdc17ead81f19a42dfa3"} device-1 | {"level":"info","message":"PATCH /devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2 200 69ms","method":"PATCH","requestID":"93e41f8ce29bbdc17ead81f19a42dfa3","responseTime":69,"status":200,"url":"/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5Nn0.aICB4dkvaLaMi8Ad-C8hxVeOgmb6TbyG6VGQKwilMns","level":"info","message":"auth send jwt","requestID":"d889307fc9343db04fdc6175ffb3a081"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"d889307fc9343db04fdc6175ffb3a081","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d889307fc9343db04fdc6175ffb3a081"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.420945,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d889307fc9343db04fdc6175ffb3a081","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216096,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5Nn0.aICB4dkvaLaMi8Ad-C8hxVeOgmb6TbyG6VGQKwilMns"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d889307fc9343db04fdc6175ffb3a081","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d889307fc9343db04fdc6175ffb3a081"} gateway-1 | {"time_local":"17/Jul/2024:11:34:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2/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":"d889307fc9343db04fdc6175ffb3a081"} device-1 | {"level":"info","message":"POST /devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2/websocket 200 24ms","method":"POST","requestID":"d889307fc9343db04fdc6175ffb3a081","responseTime":24,"status":200,"url":"/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5f90627737eb37a6f10fb4654fbae9e7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5f90627737eb37a6f10fb4654fbae9e7","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:34:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f9164248-0a8a-4928-a81b-444a91241e14/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":"5f90627737eb37a6f10fb4654fbae9e7"} device-1 | {"level":"info","message":"OPTIONS /devices/f9164248-0a8a-4928-a81b-444a91241e14/websocket 200 2ms","method":"OPTIONS","requestID":"5f90627737eb37a6f10fb4654fbae9e7","responseTime":2,"status":200,"url":"/devices/f9164248-0a8a-4928-a81b-444a91241e14/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5OH0.UItfS3vPqHrII1mcZ2RE9wHZ2YX4MDdqQFUyw8XvZ0Y","level":"info","message":"auth send jwt","requestID":"347bcaf7247a099c57bc3bc0775ca6d6"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"347bcaf7247a099c57bc3bc0775ca6d6","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"347bcaf7247a099c57bc3bc0775ca6d6"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.5792,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"347bcaf7247a099c57bc3bc0775ca6d6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216098,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5OH0.UItfS3vPqHrII1mcZ2RE9wHZ2YX4MDdqQFUyw8XvZ0Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"347bcaf7247a099c57bc3bc0775ca6d6","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"347bcaf7247a099c57bc3bc0775ca6d6"} device-1 | {"level":"info","message":"POST /devices/f9164248-0a8a-4928-a81b-444a91241e14/websocket 200 24ms","method":"POST","requestID":"347bcaf7247a099c57bc3bc0775ca6d6","responseTime":24,"status":200,"url":"/devices/f9164248-0a8a-4928-a81b-444a91241e14/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:34:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f9164248-0a8a-4928-a81b-444a91241e14/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.034","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"347bcaf7247a099c57bc3bc0775ca6d6"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5OH0.UItfS3vPqHrII1mcZ2RE9wHZ2YX4MDdqQFUyw8XvZ0Y","level":"info","message":"auth send jwt","requestID":"d0bdb90188b102823fcfe75233f13994"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d0bdb90188b102823fcfe75233f13994","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d0bdb90188b102823fcfe75233f13994"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.338689,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d0bdb90188b102823fcfe75233f13994","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216098,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5OH0.UItfS3vPqHrII1mcZ2RE9wHZ2YX4MDdqQFUyw8XvZ0Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d0bdb90188b102823fcfe75233f13994","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9164248-0a8a-4928-a81b-444a91241e14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9164248-0a8a-4928-a81b-444a91241e14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:55.887960956Z"}]},"request_id":"61f169d4-cba0-496a-b934-6f0caf5a542d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216098.0823345} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d0bdb90188b102823fcfe75233f13994","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d0bdb90188b102823fcfe75233f13994"} gateway-1 | {"time_local":"17/Jul/2024:11:34:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f9164248-0a8a-4928-a81b-444a91241e14? 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":"d0bdb90188b102823fcfe75233f13994"} device-1 | {"level":"info","message":"GET /devices/f9164248-0a8a-4928-a81b-444a91241e14? 200 21ms","method":"GET","requestID":"d0bdb90188b102823fcfe75233f13994","responseTime":21,"status":200,"url":"/devices/f9164248-0a8a-4928-a81b-444a91241e14?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5OH0.UItfS3vPqHrII1mcZ2RE9wHZ2YX4MDdqQFUyw8XvZ0Y","level":"info","message":"auth send jwt","requestID":"115269f0e3be489315cc8ef894d855ee"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"115269f0e3be489315cc8ef894d855ee","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"115269f0e3be489315cc8ef894d855ee"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.299173,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"115269f0e3be489315cc8ef894d855ee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216098,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5OH0.UItfS3vPqHrII1mcZ2RE9wHZ2YX4MDdqQFUyw8XvZ0Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"115269f0e3be489315cc8ef894d855ee","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:55.982584044Z"}]},"request_id":"e4bd7341-2b99-4605-8fe1-032fc60f6a9d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216098.1135805} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"115269f0e3be489315cc8ef894d855ee","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"115269f0e3be489315cc8ef894d855ee"} gateway-1 | {"time_local":"17/Jul/2024:11:34:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2? 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":"115269f0e3be489315cc8ef894d855ee"} device-1 | {"level":"info","message":"GET /devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2? 200 21ms","method":"GET","requestID":"115269f0e3be489315cc8ef894d855ee","responseTime":21,"status":200,"url":"/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5OH0.UItfS3vPqHrII1mcZ2RE9wHZ2YX4MDdqQFUyw8XvZ0Y","level":"info","message":"auth send jwt","requestID":"dfaa6829e0cde5077c35a513be05bcde"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"dfaa6829e0cde5077c35a513be05bcde","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"dfaa6829e0cde5077c35a513be05bcde"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.443069,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"dfaa6829e0cde5077c35a513be05bcde","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216098,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5OH0.UItfS3vPqHrII1mcZ2RE9wHZ2YX4MDdqQFUyw8XvZ0Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"dfaa6829e0cde5077c35a513be05bcde","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e"},"level":"info","message":"Attempting to run experiment","requestID":"dfaa6829e0cde5077c35a513be05bcde"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e"},"level":"info","message":"Attempting to book experiment","requestID":"dfaa6829e0cde5077c35a513be05bcde"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e"},"level":"info","message":"Successfully booked experiment","requestID":"dfaa6829e0cde5077c35a513be05bcde"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"98aae3f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"98ab5920-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.608279,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"98aae3f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216098,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5OH0.UItfS3vPqHrII1mcZ2RE9wHZ2YX4MDdqQFUyw8XvZ0Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"98aae3f0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.86891,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"98ab5920-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216098,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5OH0.UItfS3vPqHrII1mcZ2RE9wHZ2YX4MDdqQFUyw8XvZ0Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"98ab5920-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9164248-0a8a-4928-a81b-444a91241e14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9164248-0a8a-4928-a81b-444a91241e14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:55.887960956Z"}]},"request_id":"88d08106-3953-46eb-9ff7-c125a2d46421","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216098.2347963} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"98aae3f0-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:55.982584044Z"}]},"request_id":"2e4d1681-769e-4742-86e4-95e1fe9acc1d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216098.235875} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"98ab5920-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"98aae3f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/f9164248-0a8a-4928-a81b-444a91241e14? 200 22ms","method":"GET","requestID":"98aae3f0-4430-11ef-b47c-55a12d3fdb12","responseTime":22,"status":200,"url":"/devices/f9164248-0a8a-4928-a81b-444a91241e14?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"98ab5920-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2? 200 22ms","method":"GET","requestID":"98ab5920-4430-11ef-b47c-55a12d3fdb12","responseTime":22,"status":200,"url":"/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e"},"level":"info","message":"Setting up experiment","requestID":"dfaa6829e0cde5077c35a513be05bcde"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"dfaa6829e0cde5077c35a513be05bcde"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e"},"level":"info","message":"Successfully locked booking for experiment","requestID":"dfaa6829e0cde5077c35a513be05bcde"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"dfaa6829e0cde5077c35a513be05bcde"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"dfaa6829e0cde5077c35a513be05bcde"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e"},"level":"info","message":"Attempting to update booking for experiment","requestID":"dfaa6829e0cde5077c35a513be05bcde"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e"},"level":"info","message":"Successfully updated booking for experiment","requestID":"dfaa6829e0cde5077c35a513be05bcde"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e"},"level":"info","message":"Successfully set up experiment","requestID":"dfaa6829e0cde5077c35a513be05bcde"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"98b87880-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"98b8edb0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"98b93bd0-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e"},"level":"info","message":"Successfully running experiment","requestID":"dfaa6829e0cde5077c35a513be05bcde"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.472345,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"98b87880-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216098,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5OH0.UItfS3vPqHrII1mcZ2RE9wHZ2YX4MDdqQFUyw8XvZ0Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"98b87880-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.426939,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"98b8edb0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216098,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5OH0.UItfS3vPqHrII1mcZ2RE9wHZ2YX4MDdqQFUyw8XvZ0Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"98b8edb0-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9164248-0a8a-4928-a81b-444a91241e14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1b5a98fb-7ea2-41d6-a556-d63bf3fd4127","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216098.3288755} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.40268,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"98b93bd0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"98b93bd0-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9164248-0a8a-4928-a81b-444a91241e14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9164248-0a8a-4928-a81b-444a91241e14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:55.887960956Z"}]},"request_id":"9d9d7fbb-0f83-4120-ae64-3c5d24aa4b33","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216098.3331792} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"98b93bd0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"98b87880-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:55.982584044Z"}]},"request_id":"bb27197f-0794-43b5-bd37-c35bd7f3594c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216098.338377} device-1 | {"level":"info","message":"POST /devices/f9164248-0a8a-4928-a81b-444a91241e14/signaling 200 23ms","method":"POST","requestID":"98b93bd0-4430-11ef-b47c-55a12d3fdb12","responseTime":23,"status":200,"url":"/devices/f9164248-0a8a-4928-a81b-444a91241e14/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"98b8edb0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"98bd8190-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7ae387cf-eab8-48e9-9230-75452ff1269e#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7ae387cf-eab8-48e9-9230-75452ff1269e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"c0839b97-4278-4fe5-8a6f-3363973aeb6f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216098.3464987} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2bb8e43c-d1d2-4bfd-b0c3-e07720b8a0d7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216098.3472416} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"98b87880-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/f9164248-0a8a-4928-a81b-444a91241e14? 200 39ms","method":"GET","requestID":"98b87880-4430-11ef-b47c-55a12d3fdb12","responseTime":39,"status":200,"url":"/devices/f9164248-0a8a-4928-a81b-444a91241e14?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"98b8edb0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","method":"POST","requestID":"dfaa6829e0cde5077c35a513be05bcde","responseTime":25,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:58Z"} device-1 | {"level":"info","message":"GET /devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2? 200 39ms","method":"GET","requestID":"98b8edb0-4430-11ef-b47c-55a12d3fdb12","responseTime":39,"status":200,"url":"/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"98bfa470-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af17017a-2403-4bb9-b854-b06ee8a41967","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216098.365148} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":13.659711,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"98bd8190-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 19ms","method":"POST","requestID":"98bd8190-4430-11ef-b47c-55a12d3fdb12","responseTime":19,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9164248-0a8a-4928-a81b-444a91241e14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"94668d78-a736-42fe-8e0d-52b6a86cfd87","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216098.3690267} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.139539,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:58Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"dfaa6829e0cde5077c35a513be05bcde"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"98bfa470-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14","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":"17/Jul/2024:11:34:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.247","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dfaa6829e0cde5077c35a513be05bcde"} experiment-1 | {"level":"info","message":"POST /experiments? 201 239ms","method":"POST","requestID":"dfaa6829e0cde5077c35a513be05bcde","responseTime":239,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"98bfa470-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"98bd8190-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2/signaling 200 29ms","method":"POST","requestID":"98bd8190-4430-11ef-b47c-55a12d3fdb12","responseTime":29,"status":200,"url":"/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"98bfa470-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/f9164248-0a8a-4928-a81b-444a91241e14/signaling 200 19ms","method":"POST","requestID":"98bfa470-4430-11ef-b47c-55a12d3fdb12","responseTime":19,"status":200,"url":"/devices/f9164248-0a8a-4928-a81b-444a91241e14/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5OH0.UItfS3vPqHrII1mcZ2RE9wHZ2YX4MDdqQFUyw8XvZ0Y","level":"info","message":"auth send jwt","requestID":"f6b3ffa3611132ded25160294ab01694"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f6b3ffa3611132ded25160294ab01694","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f6b3ffa3611132ded25160294ab01694"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"98c326e0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.782678,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"f6b3ffa3611132ded25160294ab01694","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216098,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5OH0.UItfS3vPqHrII1mcZ2RE9wHZ2YX4MDdqQFUyw8XvZ0Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"f6b3ffa3611132ded25160294ab01694","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c27e0a3-6565-4d02-b575-d66377575fc5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216098.389003} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.663364,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"98c326e0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"98c326e0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"98c326e0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9164248-0a8a-4928-a81b-444a91241e14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9164248-0a8a-4928-a81b-444a91241e14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:55.887960956Z"}]},"request_id":"6771f48e-50fd-4cf6-a3a2-2a5784100209","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216098.3938503} device-1 | {"level":"info","message":"POST /devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2/signaling 200 11ms","method":"POST","requestID":"98c326e0-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f6b3ffa3611132ded25160294ab01694","responseTime":4,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"dfaa6829e0cde5077c35a513be05bcde"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e"},"level":"info","message":"Building connection plan","requestID":"dfaa6829e0cde5077c35a513be05bcde"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"921f5580-81bb-4a73-aff3-92d3090d2b4e"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"da5aae3b-5d73-497c-9eb5-87fd41d5cf6c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"4dc19d27-c3af-4f2a-aee1-2d1b2b15b08d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"dfaa6829e0cde5077c35a513be05bcde"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"dfaa6829e0cde5077c35a513be05bcde"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f6b3ffa3611132ded25160294ab01694"} gateway-1 | {"time_local":"17/Jul/2024:11:34:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f9164248-0a8a-4928-a81b-444a91241e14? 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":"f6b3ffa3611132ded25160294ab01694"} device-1 | {"level":"info","message":"GET /devices/f9164248-0a8a-4928-a81b-444a91241e14? 200 18ms","method":"GET","requestID":"f6b3ffa3611132ded25160294ab01694","responseTime":18,"status":200,"url":"/devices/f9164248-0a8a-4928-a81b-444a91241e14?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"98c5bef0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.879338,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:58Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5OH0.UItfS3vPqHrII1mcZ2RE9wHZ2YX4MDdqQFUyw8XvZ0Y","level":"info","message":"auth send jwt","requestID":"8eaade99ad6e5e7ad59785dde0c85119"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8eaade99ad6e5e7ad59785dde0c85119","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"98c5bef0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216098,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5OH0.UItfS3vPqHrII1mcZ2RE9wHZ2YX4MDdqQFUyw8XvZ0Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"98c5bef0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8eaade99ad6e5e7ad59785dde0c85119"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.965172,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"8eaade99ad6e5e7ad59785dde0c85119","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216098,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjA5OH0.UItfS3vPqHrII1mcZ2RE9wHZ2YX4MDdqQFUyw8XvZ0Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8eaade99ad6e5e7ad59785dde0c85119","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"78fd32a1-7aca-4f64-834e-9cca149a2140","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216098.415162} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1633a41-585c-4a39-aad8-89eea70d29cf","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216098.4154153} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"98c5bef0-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:34:55.982584044Z"}]},"request_id":"983dc5e1-9ff4-43ef-930b-db01b59889c2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216098.4168537} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"8eaade99ad6e5e7ad59785dde0c85119","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8eaade99ad6e5e7ad59785dde0c85119"} gateway-1 | {"time_local":"17/Jul/2024:11:34:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8eaade99ad6e5e7ad59785dde0c85119"} device-1 | {"level":"info","message":"GET /devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2? 200 29ms","method":"GET","requestID":"8eaade99ad6e5e7ad59785dde0c85119","responseTime":29,"status":200,"url":"/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"98c5bef0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"98c5bef0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/9c309ac2-73e2-409d-99dd-f622bf70aef8'","requestID":"98c5bef0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9c309ac2-73e2-409d-99dd-f622bf70aef8'","requestID":"98c5bef0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"98c5bef0-4430-11ef-b47c-55a12d3fdb12"} 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":"98c5bef0-4430-11ef-b47c-55a12d3fdb12","responseTime":38,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"98c5bef0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/9c309ac2-73e2-409d-99dd-f622bf70aef8","device":"f9164248-0a8a-4928-a81b-444a91241e14","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"dfaa6829e0cde5077c35a513be05bcde"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"98d04640-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9164248-0a8a-4928-a81b-444a91241e14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"99cb9322-f162-44f2-b5ce-7fef87efe75f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216098.4732938} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.555492,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"98d04640-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"98d04640-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"98d04640-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/f9164248-0a8a-4928-a81b-444a91241e14/signaling 200 10ms","method":"POST","requestID":"98d04640-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/f9164248-0a8a-4928-a81b-444a91241e14/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"98d21b00-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb289e1d-8cc0-4077-a134-725dae04d37f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216098.4862823} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.947946,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:34:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"98d21b00-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"98d21b00-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"f9164248-0a8a-4928-a81b-444a91241e14","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"f9164248-0a8a-4928-a81b-444a91241e14","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"98d21b00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2/signaling 200 15ms","method":"POST","requestID":"98d21b00-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 9105663107486991028 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:hKxb\r\na=ice-pwd:0RkZM1cp8pCvok5G4/98JURF\r\na=ice-options:trickle\r\na=fingerprint:sha-256 38:F9:22:9E:B1:E5:2B:A1:4E:77:E2:C4:55:21:12:CE:EE:B2:F6:19:0C:84:9C:0A:3E:1C:86:E0:1E:C5:5B:53\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"f9164248-0a8a-4928-a81b-444a91241e14","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14'"} device-1 | {"device":"f9164248-0a8a-4928-a81b-444a91241e14","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"c40c5944-0653-471e-a1d2-5ed4b92ecca2","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"9c309ac2-73e2-409d-99dd-f622bf70aef8","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c40c5944-0653-471e-a1d2-5ed4b92ecca2","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c40c5944-0653-471e-a1d2-5ed4b92ecca2","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c40c5944-0653-471e-a1d2-5ed4b92ecca2","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c40c5944-0653-471e-a1d2-5ed4b92ecca2","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9c309ac2-73e2-409d-99dd-f622bf70aef8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9c309ac2-73e2-409d-99dd-f622bf70aef8","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"33cd85ab9978e11f97fab90e39f1b54d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"33cd85ab9978e11f97fab90e39f1b54d","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/c40c5944-0653-471e-a1d2-5ed4b92ecca2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9c309ac2-73e2-409d-99dd-f622bf70aef8"}}},"level":"info","message":"received a callback","requestID":"33cd85ab9978e11f97fab90e39f1b54d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"33cd85ab9978e11f97fab90e39f1b54d","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"33cd85ab9978e11f97fab90e39f1b54d"} device-1 | {"content":{"candidate":"candidate:1186708453 1 udp 2113937151 1c680b9a-3c28-466b-bd03-574705a4a171.local 43650 typ host generation 0 ufrag hKxb network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f9164248-0a8a-4928-a81b-444a91241e14","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3582991094 1 udp 1677729535 141.24.211.56 43650 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag hKxb network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f9164248-0a8a-4928-a81b-444a91241e14","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1807524100 1 udp 33562623 141.24.210.113 61326 typ relay raddr 141.24.211.56 rport 43650 generation 0 ufrag hKxb network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f9164248-0a8a-4928-a81b-444a91241e14","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"f9164248-0a8a-4928-a81b-444a91241e14","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14'"} device-1 | {"data":{"peerconnection":"9c309ac2-73e2-409d-99dd-f622bf70aef8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c40c5944-0653-471e-a1d2-5ed4b92ecca2","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f9164248-0a8a-4928-a81b-444a91241e14","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"c40c5944-0653-471e-a1d2-5ed4b92ecca2","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"9c309ac2-73e2-409d-99dd-f622bf70aef8","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/9c309ac2-73e2-409d-99dd-f622bf70aef8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9c309ac2-73e2-409d-99dd-f622bf70aef8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f4722b8bb6df92220e77cbfb5c1034b3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f4722b8bb6df92220e77cbfb5c1034b3","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/c40c5944-0653-471e-a1d2-5ed4b92ecca2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9c309ac2-73e2-409d-99dd-f622bf70aef8"}}},"level":"info","message":"received a callback","requestID":"f4722b8bb6df92220e77cbfb5c1034b3"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"9a0e6b90-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:00Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9c309ac2-73e2-409d-99dd-f622bf70aef8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"820dae00-b020-4fcb-aac1-e0227d60a675","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216100.5603507} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.692251,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9c309ac2-73e2-409d-99dd-f622bf70aef8","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9a0e6b90-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9c309ac2-73e2-409d-99dd-f622bf70aef8","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","method":"POST","requestID":"9a0e6b90-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"9a0e6b90-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/9c309ac2-73e2-409d-99dd-f622bf70aef8 200 13ms","method":"GET","requestID":"9a0e6b90-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/peerconnections/9c309ac2-73e2-409d-99dd-f622bf70aef8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"f4722b8bb6df92220e77cbfb5c1034b3","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch","requestID":"f4722b8bb6df92220e77cbfb5c1034b3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9a134d90-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:00Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6842ac3-6723-401d-8aaf-3048751de614","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216100.5920775} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.429756,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9a134d90-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"9a134d90-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9a134d90-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2/signaling 200 14ms","method":"POST","requestID":"9a134d90-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9a15be90-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:00Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9164248-0a8a-4928-a81b-444a91241e14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"994af58e-d67d-420b-a1ba-171f60321a3e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216100.6082838} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.436539,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9a15be90-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"9a15be90-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9a15be90-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/f9164248-0a8a-4928-a81b-444a91241e14/signaling 200 14ms","method":"POST","requestID":"9a15be90-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/f9164248-0a8a-4928-a81b-444a91241e14/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwMH0.SzRuCnenP6DBW2lEMt19PZMAnn1t7nZ_o_ERCOgjnNg","level":"info","message":"auth send jwt","requestID":"12295d60bcd2c351b8057a13a393c4cb"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"12295d60bcd2c351b8057a13a393c4cb","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7ae387cf-eab8-48e9-9230-75452ff1269e","requestID":"12295d60bcd2c351b8057a13a393c4cb"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:00Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.574888,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"12295d60bcd2c351b8057a13a393c4cb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216100,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwMH0.SzRuCnenP6DBW2lEMt19PZMAnn1t7nZ_o_ERCOgjnNg"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"12295d60bcd2c351b8057a13a393c4cb","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7ae387cf-eab8-48e9-9230-75452ff1269e","requestID":"12295d60bcd2c351b8057a13a393c4cb"} gateway-1 | {"time_local":"17/Jul/2024:11:35:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7ae387cf-eab8-48e9-9230-75452ff1269e HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"12295d60bcd2c351b8057a13a393c4cb"} experiment-1 | {"level":"info","message":"GET /experiments/7ae387cf-eab8-48e9-9230-75452ff1269e 200 22ms","method":"GET","requestID":"12295d60bcd2c351b8057a13a393c4cb","responseTime":22,"status":200,"url":"/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwMH0.SzRuCnenP6DBW2lEMt19PZMAnn1t7nZ_o_ERCOgjnNg","level":"info","message":"auth send jwt","requestID":"e967f9b99a20af987fb36ec212cfe970"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e967f9b99a20af987fb36ec212cfe970","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7ae387cf-eab8-48e9-9230-75452ff1269e","requestID":"e967f9b99a20af987fb36ec212cfe970"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:00Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.247491,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"e967f9b99a20af987fb36ec212cfe970","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216100,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwMH0.SzRuCnenP6DBW2lEMt19PZMAnn1t7nZ_o_ERCOgjnNg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e967f9b99a20af987fb36ec212cfe970","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e"},"level":"info","message":"Attempting to finish experiment","requestID":"e967f9b99a20af987fb36ec212cfe970"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"9a22ddf0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:00Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.238672,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9c309ac2-73e2-409d-99dd-f622bf70aef8","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9a22ddf0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/9c309ac2-73e2-409d-99dd-f622bf70aef8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216100,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwMH0.SzRuCnenP6DBW2lEMt19PZMAnn1t7nZ_o_ERCOgjnNg"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"9a22ddf0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/9c309ac2-73e2-409d-99dd-f622bf70aef8","device":"f9164248-0a8a-4928-a81b-444a91241e14","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"c40c5944-0653-471e-a1d2-5ed4b92ecca2","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c40c5944-0653-471e-a1d2-5ed4b92ecca2","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c40c5944-0653-471e-a1d2-5ed4b92ecca2","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/9c309ac2-73e2-409d-99dd-f622bf70aef8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9c309ac2-73e2-409d-99dd-f622bf70aef8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9c309ac2-73e2-409d-99dd-f622bf70aef8","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f370c4849a30981c64e7f4def7c643b3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f370c4849a30981c64e7f4def7c643b3","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"622141eee9f21e374596526c5515715e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9c309ac2-73e2-409d-99dd-f622bf70aef8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9c309ac2-73e2-409d-99dd-f622bf70aef8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"2c7b320f-bf85-494d-9d6f-dd64611a1414","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216100.7234619} 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/c40c5944-0653-471e-a1d2-5ed4b92ecca2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9c309ac2-73e2-409d-99dd-f622bf70aef8"}}},"level":"info","message":"received a callback","requestID":"f370c4849a30981c64e7f4def7c643b3"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8c7060c5-28ce-4fc8-8569-7c49bfa84ef5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216100.7239177} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"622141eee9f21e374596526c5515715e","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"9a22ddf0-4430-11ef-b47c-55a12d3fdb12","responseTime":18,"status":200,"url":"/relations/update"} 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/c40c5944-0653-471e-a1d2-5ed4b92ecca2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9c309ac2-73e2-409d-99dd-f622bf70aef8"}}},"level":"info","message":"received a callback","requestID":"622141eee9f21e374596526c5515715e"} device-1 | {"data":{"peerconnection":"9c309ac2-73e2-409d-99dd-f622bf70aef8","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"9a22ddf0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/9c309ac2-73e2-409d-99dd-f622bf70aef8 204 56ms","method":"DELETE","requestID":"9a22ddf0-4430-11ef-b47c-55a12d3fdb12","responseTime":56,"status":204,"url":"/peerconnections/9c309ac2-73e2-409d-99dd-f622bf70aef8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e"},"level":"info","message":"Successfully finished experiment","requestID":"e967f9b99a20af987fb36ec212cfe970"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9a2f8820-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:00Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc40c5944-0653-471e-a1d2-5ed4b92ecca2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5a70a1e2-4a51-417d-8374-189510b88f97","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216100.7768087} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.892382,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9a2f8820-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"9a2f8820-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9a2f8820-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2/signaling 200 13ms","method":"POST","requestID":"9a2f8820-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7ae387cf-eab8-48e9-9230-75452ff1269e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7ae387cf-eab8-48e9-9230-75452ff1269e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"678ff240-ec66-49dd-9027-8ad6dc22caa1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216100.7836864} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"331fe976-dcf3-449e-a93b-2e1a8dd1af17","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216100.7856097} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"e967f9b99a20af987fb36ec212cfe970","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9a322030-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:00Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9164248-0a8a-4928-a81b-444a91241e14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0410ad1c-b254-4394-aeca-5caed9c13156","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216100.793213} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.266181,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9a322030-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"9a322030-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9a322030-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/f9164248-0a8a-4928-a81b-444a91241e14/signaling 200 14ms","method":"POST","requestID":"9a322030-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/f9164248-0a8a-4928-a81b-444a91241e14/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7ae387cf-eab8-48e9-9230-75452ff1269e","requestID":"e967f9b99a20af987fb36ec212cfe970"} gateway-1 | {"time_local":"17/Jul/2024:11:35:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7ae387cf-eab8-48e9-9230-75452ff1269e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.194","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e967f9b99a20af987fb36ec212cfe970"} gateway-1 | {"time_local":"17/Jul/2024:11:35:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2991","request_time":"4.166","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"fc1b0a5a10362e1220ac0ebc1d2ed07f"} experiment-1 | {"level":"info","message":"DELETE /experiments/7ae387cf-eab8-48e9-9230-75452ff1269e 204 189ms","method":"DELETE","requestID":"e967f9b99a20af987fb36ec212cfe970","responseTime":189,"status":204,"url":"/experiments/7ae387cf-eab8-48e9-9230-75452ff1269e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"f370c4849a30981c64e7f4def7c643b3","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"f370c4849a30981c64e7f4def7c643b3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"622141eee9f21e374596526c5515715e","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.140","http_referrer":"","http_user_agent":"node-fetch","requestID":"622141eee9f21e374596526c5515715e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwMH0.SzRuCnenP6DBW2lEMt19PZMAnn1t7nZ_o_ERCOgjnNg","level":"info","message":"auth send jwt","requestID":"7f19eb2aa115b250a7f437390f778245"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7f19eb2aa115b250a7f437390f778245","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7f19eb2aa115b250a7f437390f778245"} gateway-1 | {"time_local":"17/Jul/2024:11:35:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2501","request_time":"2.819","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b89914b970f58c62f4b891f5e08cf8a9"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:00Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.974878,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"7f19eb2aa115b250a7f437390f778245","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216100,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwMH0.SzRuCnenP6DBW2lEMt19PZMAnn1t7nZ_o_ERCOgjnNg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7f19eb2aa115b250a7f437390f778245","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c40c5944-0653-471e-a1d2-5ed4b92ecca2' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e9c1967e-09bd-48c1-8dde-2971132a75a6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216100.8833582} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7f19eb2aa115b250a7f437390f778245","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f9164248-0a8a-4928-a81b-444a91241e14' 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:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d5b2b78e-08f8-41c0-aca6-1748c68f550b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216100.888919} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"7f19eb2aa115b250a7f437390f778245","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"3d189bbd-259c-42aa-84b1-a5a4137615f3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216100.8993006} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"722b5cc3-c368-4d0c-93c1-a0983e4bc381","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216100.8994634} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"7f19eb2aa115b250a7f437390f778245","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:00.899283342Z"}]},"request_id":"a84362cb-9221-45f8-bd47-1bd674bc1d71","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216100.9049938} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7f19eb2aa115b250a7f437390f778245","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7f19eb2aa115b250a7f437390f778245"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"7f19eb2aa115b250a7f437390f778245","responseTime":45,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"17/Jul/2024:11:35:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7f19eb2aa115b250a7f437390f778245"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwMH0.SzRuCnenP6DBW2lEMt19PZMAnn1t7nZ_o_ERCOgjnNg","level":"info","message":"auth send jwt","requestID":"609c3f19bc90a8cd31b4c2a0130ce7c6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"609c3f19bc90a8cd31b4c2a0130ce7c6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"609c3f19bc90a8cd31b4c2a0130ce7c6"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:00Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.654349,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"609c3f19bc90a8cd31b4c2a0130ce7c6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216100,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwMH0.SzRuCnenP6DBW2lEMt19PZMAnn1t7nZ_o_ERCOgjnNg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"609c3f19bc90a8cd31b4c2a0130ce7c6","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53afee31-ad38-43bd-94d5-423a73840c03","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"458829b6-0dae-49b5-9765-1ec24223f299","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216100.9368656} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"609c3f19bc90a8cd31b4c2a0130ce7c6","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01897283-7f4a-49fc-93a3-983cd1c8eb77","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216100.9420426} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"609c3f19bc90a8cd31b4c2a0130ce7c6","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53afee31-ad38-43bd-94d5-423a73840c03","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"33849496-e7ee-4449-a26c-4983e09dfb1e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216100.9538178} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"563679a1-746f-4091-a80f-052f934178e0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216100.9539678} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"609c3f19bc90a8cd31b4c2a0130ce7c6","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53afee31-ad38-43bd-94d5-423a73840c03","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53afee31-ad38-43bd-94d5-423a73840c03","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:00.953803199Z"}]},"request_id":"23fa7e1d-a1e3-4c1d-be5d-10bca45a219a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216100.959373} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"609c3f19bc90a8cd31b4c2a0130ce7c6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"609c3f19bc90a8cd31b4c2a0130ce7c6"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"609c3f19bc90a8cd31b4c2a0130ce7c6","responseTime":48,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"17/Jul/2024:11:35:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"609c3f19bc90a8cd31b4c2a0130ce7c6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwMX0.pdGm6-Pt51c60NPb3mdMgexN6vfpJsbnBmknUEqgSF8","level":"info","message":"auth send jwt","requestID":"cb17cf31fcb9cba4c1795853c89ccf27"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"cb17cf31fcb9cba4c1795853c89ccf27","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"cb17cf31fcb9cba4c1795853c89ccf27"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.27057,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cb17cf31fcb9cba4c1795853c89ccf27","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216101,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwMX0.pdGm6-Pt51c60NPb3mdMgexN6vfpJsbnBmknUEqgSF8"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cb17cf31fcb9cba4c1795853c89ccf27","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:00.899283342Z"}]},"request_id":"c3e26595-d1ea-4d10-bd98-97af0c6ea0e2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216101.4558856} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cb17cf31fcb9cba4c1795853c89ccf27","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa126ab8-2c0b-42e3-ac3c-5140a90b24c1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216101.463901} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"cb17cf31fcb9cba4c1795853c89ccf27","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:00.899283342Z"}]},"request_id":"a70d8063-06ac-47f7-97b3-751ab74568d7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216101.4787126} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cb17cf31fcb9cba4c1795853c89ccf27","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"cb17cf31fcb9cba4c1795853c89ccf27"} device-1 | {"level":"info","message":"PATCH /devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2 200 42ms","method":"PATCH","requestID":"cb17cf31fcb9cba4c1795853c89ccf27","responseTime":42,"status":200,"url":"/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2"} gateway-1 | {"time_local":"17/Jul/2024:11:35:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"cb17cf31fcb9cba4c1795853c89ccf27"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwMX0.pdGm6-Pt51c60NPb3mdMgexN6vfpJsbnBmknUEqgSF8","level":"info","message":"auth send jwt","requestID":"e1209b4a55586625bd522c37e485252a"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e1209b4a55586625bd522c37e485252a","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e1209b4a55586625bd522c37e485252a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.254353,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"e1209b4a55586625bd522c37e485252a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216101,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwMX0.pdGm6-Pt51c60NPb3mdMgexN6vfpJsbnBmknUEqgSF8"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e1209b4a55586625bd522c37e485252a","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e1209b4a55586625bd522c37e485252a"} device-1 | {"level":"info","message":"POST /devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2/websocket 200 24ms","method":"POST","requestID":"e1209b4a55586625bd522c37e485252a","responseTime":24,"status":200,"url":"/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:35:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2/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":"e1209b4a55586625bd522c37e485252a"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fe29e321472e7d4aa888d78e993cbac9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fe29e321472e7d4aa888d78e993cbac9","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:35:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/53afee31-ad38-43bd-94d5-423a73840c03/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":"fe29e321472e7d4aa888d78e993cbac9"} device-1 | {"level":"info","message":"OPTIONS /devices/53afee31-ad38-43bd-94d5-423a73840c03/websocket 200 1ms","method":"OPTIONS","requestID":"fe29e321472e7d4aa888d78e993cbac9","responseTime":1,"status":200,"url":"/devices/53afee31-ad38-43bd-94d5-423a73840c03/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwMn0.tP3xVIPnn7qdhXGPjyHIQ4q_cmT1_HutXhjEEdXS_cg","level":"info","message":"auth send jwt","requestID":"d136af4def212837d11243e38c5fc8b4"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"d136af4def212837d11243e38c5fc8b4","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d136af4def212837d11243e38c5fc8b4"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.229808,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d136af4def212837d11243e38c5fc8b4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216102,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwMn0.tP3xVIPnn7qdhXGPjyHIQ4q_cmT1_HutXhjEEdXS_cg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d136af4def212837d11243e38c5fc8b4","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d136af4def212837d11243e38c5fc8b4"} gateway-1 | {"time_local":"17/Jul/2024:11:35:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/53afee31-ad38-43bd-94d5-423a73840c03/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":"d136af4def212837d11243e38c5fc8b4"} device-1 | {"level":"info","message":"POST /devices/53afee31-ad38-43bd-94d5-423a73840c03/websocket 200 22ms","method":"POST","requestID":"d136af4def212837d11243e38c5fc8b4","responseTime":22,"status":200,"url":"/devices/53afee31-ad38-43bd-94d5-423a73840c03/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwM30.qiLw3YplH4BVn38gXLlFgM_szYURXCgZ8fnZL545mYY","level":"info","message":"auth send jwt","requestID":"fe71e7f499fad8de3916b37a0f54e970"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fe71e7f499fad8de3916b37a0f54e970","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fe71e7f499fad8de3916b37a0f54e970"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.242146,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"fe71e7f499fad8de3916b37a0f54e970","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216103,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwM30.qiLw3YplH4BVn38gXLlFgM_szYURXCgZ8fnZL545mYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"fe71e7f499fad8de3916b37a0f54e970","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:00.899283342Z"}]},"request_id":"0e44235e-dd42-45a7-bf62-ebb9e237efb9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216103.0364292} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"fe71e7f499fad8de3916b37a0f54e970","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fe71e7f499fad8de3916b37a0f54e970"} gateway-1 | {"time_local":"17/Jul/2024:11:35:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2? 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":"fe71e7f499fad8de3916b37a0f54e970"} device-1 | {"level":"info","message":"GET /devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2? 200 20ms","method":"GET","requestID":"fe71e7f499fad8de3916b37a0f54e970","responseTime":20,"status":200,"url":"/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwM30.qiLw3YplH4BVn38gXLlFgM_szYURXCgZ8fnZL545mYY","level":"info","message":"auth send jwt","requestID":"4fd4004130a7a311c321d314292122fb"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4fd4004130a7a311c321d314292122fb","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4fd4004130a7a311c321d314292122fb"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.334648,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"4fd4004130a7a311c321d314292122fb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216103,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwM30.qiLw3YplH4BVn38gXLlFgM_szYURXCgZ8fnZL545mYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4fd4004130a7a311c321d314292122fb","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53afee31-ad38-43bd-94d5-423a73840c03","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53afee31-ad38-43bd-94d5-423a73840c03","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:00.953803199Z"}]},"request_id":"14ed9a1a-3e87-4b7c-915c-4801359d5221","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216103.065252} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"4fd4004130a7a311c321d314292122fb","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4fd4004130a7a311c321d314292122fb"} gateway-1 | {"time_local":"17/Jul/2024:11:35:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/53afee31-ad38-43bd-94d5-423a73840c03? 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":"4fd4004130a7a311c321d314292122fb"} device-1 | {"level":"info","message":"GET /devices/53afee31-ad38-43bd-94d5-423a73840c03? 200 20ms","method":"GET","requestID":"4fd4004130a7a311c321d314292122fb","responseTime":20,"status":200,"url":"/devices/53afee31-ad38-43bd-94d5-423a73840c03?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwM30.qiLw3YplH4BVn38gXLlFgM_szYURXCgZ8fnZL545mYY","level":"info","message":"auth send jwt","requestID":"d2875465095dcb8a34ecea1796da2831"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d2875465095dcb8a34ecea1796da2831","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"d2875465095dcb8a34ecea1796da2831"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":2.972791,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d2875465095dcb8a34ecea1796da2831","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216103,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwM30.qiLw3YplH4BVn38gXLlFgM_szYURXCgZ8fnZL545mYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"d2875465095dcb8a34ecea1796da2831","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39"},"level":"info","message":"Attempting to run experiment","requestID":"d2875465095dcb8a34ecea1796da2831"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39"},"level":"info","message":"Attempting to book experiment","requestID":"d2875465095dcb8a34ecea1796da2831"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39"},"level":"info","message":"Successfully booked experiment","requestID":"d2875465095dcb8a34ecea1796da2831"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9b9818d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9b9866f0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.798662,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9b9818d0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216103,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwM30.qiLw3YplH4BVn38gXLlFgM_szYURXCgZ8fnZL545mYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"9b9818d0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.187499,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9b9866f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216103,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwM30.qiLw3YplH4BVn38gXLlFgM_szYURXCgZ8fnZL545mYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"9b9866f0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:00.899283342Z"}]},"request_id":"2bf0afdc-5e60-4b4f-88f1-b6de6a3eaaae","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216103.1478343} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"9b9818d0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53afee31-ad38-43bd-94d5-423a73840c03","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53afee31-ad38-43bd-94d5-423a73840c03","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:00.953803199Z"}]},"request_id":"bf76ce87-505a-4021-aeaa-c328ab9f6b25","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216103.1497283} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"9b9866f0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9b9818d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2? 200 24ms","method":"GET","requestID":"9b9818d0-4430-11ef-b47c-55a12d3fdb12","responseTime":24,"status":200,"url":"/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9b9866f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/53afee31-ad38-43bd-94d5-423a73840c03? 200 23ms","method":"GET","requestID":"9b9866f0-4430-11ef-b47c-55a12d3fdb12","responseTime":23,"status":200,"url":"/devices/53afee31-ad38-43bd-94d5-423a73840c03?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39"},"level":"info","message":"Setting up experiment","requestID":"d2875465095dcb8a34ecea1796da2831"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"d2875465095dcb8a34ecea1796da2831"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39"},"level":"info","message":"Successfully locked booking for experiment","requestID":"d2875465095dcb8a34ecea1796da2831"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"d2875465095dcb8a34ecea1796da2831"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"d2875465095dcb8a34ecea1796da2831"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39"},"level":"info","message":"Attempting to update booking for experiment","requestID":"d2875465095dcb8a34ecea1796da2831"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39"},"level":"info","message":"Successfully updated booking for experiment","requestID":"d2875465095dcb8a34ecea1796da2831"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39"},"level":"info","message":"Successfully set up experiment","requestID":"d2875465095dcb8a34ecea1796da2831"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9ba53830-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9ba5ad60-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9ba5fb80-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39"},"level":"info","message":"Successfully running experiment","requestID":"d2875465095dcb8a34ecea1796da2831"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.189325,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9ba53830-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216103,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwM30.qiLw3YplH4BVn38gXLlFgM_szYURXCgZ8fnZL545mYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9ba53830-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.638072,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9ba5ad60-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216103,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwM30.qiLw3YplH4BVn38gXLlFgM_szYURXCgZ8fnZL545mYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"9ba5ad60-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53afee31-ad38-43bd-94d5-423a73840c03","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53afee31-ad38-43bd-94d5-423a73840c03","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:00.953803199Z"}]},"request_id":"b40c1757-8a83-4051-aace-77bfb596aae3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216103.2390807} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"9ba5ad60-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:00.899283342Z"}]},"request_id":"4ea59c96-b398-4c78-a0a6-287ad0acde23","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216103.2416227} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"78f63a4b-b457-465a-a694-93f837b0cbd0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216103.2418458} authorization-1 | {"client_addr":"127.0.0.1:56820","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.587432,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:03Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9ba5ad60-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/53afee31-ad38-43bd-94d5-423a73840c03? 200 26ms","method":"GET","requestID":"9ba5ad60-4430-11ef-b47c-55a12d3fdb12","responseTime":26,"status":200,"url":"/devices/53afee31-ad38-43bd-94d5-423a73840c03?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","method":"POST","requestID":"9ba53830-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/relations/query"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9ba5fb80-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 22ms","method":"POST","requestID":"9ba5fb80-4430-11ef-b47c-55a12d3fdb12","responseTime":22,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff009aad7-6479-4169-b529-e06b04b26e39#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff009aad7-6479-4169-b529-e06b04b26e39","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"67a94ad6-18c8-47c6-b902-c3ce59d410e8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216103.2474291} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d70875bc-5a60-4173-aab0-5b0e4ff3f183","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216103.2476747} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"d2875465095dcb8a34ecea1796da2831","responseTime":21,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9ba53830-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2? 200 36ms","method":"GET","requestID":"9ba53830-4430-11ef-b47c-55a12d3fdb12","responseTime":36,"status":200,"url":"/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9ba5fb80-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2/signaling 200 32ms","method":"POST","requestID":"9ba5fb80-4430-11ef-b47c-55a12d3fdb12","responseTime":32,"status":200,"url":"/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9babc7e0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9bac3d10-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6b62c253-3f37-4907-897f-f26b9a74e6d3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216103.2674494} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.728243,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:03Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"d2875465095dcb8a34ecea1796da2831"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9babc7e0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9babc7e0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"17/Jul/2024:11:35:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d2875465095dcb8a34ecea1796da2831"} experiment-1 | {"level":"info","message":"POST /experiments? 201 188ms","method":"POST","requestID":"d2875465095dcb8a34ecea1796da2831","responseTime":188,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53afee31-ad38-43bd-94d5-423a73840c03","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9e38b445-3279-43f3-aa2f-3d4e874ec910","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216103.2699313} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.588709,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9bac3d10-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9bac3d10-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9babc7e0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2/signaling 200 12ms","method":"POST","requestID":"9babc7e0-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwM30.qiLw3YplH4BVn38gXLlFgM_szYURXCgZ8fnZL545mYY","level":"info","message":"auth send jwt","requestID":"2d8022171e6c15424c909b1b5aed499b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2d8022171e6c15424c909b1b5aed499b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9bac3d10-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/53afee31-ad38-43bd-94d5-423a73840c03/signaling 200 11ms","method":"POST","requestID":"9bac3d10-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/53afee31-ad38-43bd-94d5-423a73840c03/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9bae11d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2d8022171e6c15424c909b1b5aed499b"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53afee31-ad38-43bd-94d5-423a73840c03","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1c8c4ca5-6c70-4a43-ab0a-7e9529997d04","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216103.2812722} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643072,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"2d8022171e6c15424c909b1b5aed499b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216103,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwM30.qiLw3YplH4BVn38gXLlFgM_szYURXCgZ8fnZL545mYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2d8022171e6c15424c909b1b5aed499b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.031764,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9bae11d0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9bae11d0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:00.899283342Z"}]},"request_id":"0d2e4034-1009-447d-976a-41f09fb73f91","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216103.2856581} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9bae11d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/53afee31-ad38-43bd-94d5-423a73840c03/signaling 200 9ms","method":"POST","requestID":"9bae11d0-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/53afee31-ad38-43bd-94d5-423a73840c03/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2d8022171e6c15424c909b1b5aed499b","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"d2875465095dcb8a34ecea1796da2831"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39"},"level":"info","message":"Building connection plan","requestID":"d2875465095dcb8a34ecea1796da2831"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"147c3ef8-9db0-429e-90cd-4942c79941fe"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"e3aa4c38-eb44-4fba-944a-911dd2a67385"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"65610e3d-d92d-48a6-87e4-6f60ffe3828a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"d2875465095dcb8a34ecea1796da2831"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"d2875465095dcb8a34ecea1796da2831"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"9bb034b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2d8022171e6c15424c909b1b5aed499b"} gateway-1 | {"time_local":"17/Jul/2024:11:35:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2? 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":"2d8022171e6c15424c909b1b5aed499b"} device-1 | {"level":"info","message":"GET /devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2? 200 15ms","method":"GET","requestID":"2d8022171e6c15424c909b1b5aed499b","responseTime":15,"status":200,"url":"/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2?"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.999576,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9bb034b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216103,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwM30.qiLw3YplH4BVn38gXLlFgM_szYURXCgZ8fnZL545mYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9bb034b0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwM30.qiLw3YplH4BVn38gXLlFgM_szYURXCgZ8fnZL545mYY","level":"info","message":"auth send jwt","requestID":"7e49da47fc1d797cf433d395f70d680f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7e49da47fc1d797cf433d395f70d680f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7e49da47fc1d797cf433d395f70d680f"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.67758,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"7e49da47fc1d797cf433d395f70d680f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216103,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwM30.qiLw3YplH4BVn38gXLlFgM_szYURXCgZ8fnZL545mYY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7e49da47fc1d797cf433d395f70d680f","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"0a85cca9-d4b3-45c7-9b33-d41ea0e1cb34","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216103.3075824} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7554082d-7492-4970-9021-14c86ad278d0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216103.3078496} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53afee31-ad38-43bd-94d5-423a73840c03","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53afee31-ad38-43bd-94d5-423a73840c03","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:00.953803199Z"}]},"request_id":"842d4233-05af-4a6c-a35f-ec2322635544","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216103.3084927} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"9bb034b0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7e49da47fc1d797cf433d395f70d680f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7e49da47fc1d797cf433d395f70d680f"} gateway-1 | {"time_local":"17/Jul/2024:11:35:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/53afee31-ad38-43bd-94d5-423a73840c03? 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":"7e49da47fc1d797cf433d395f70d680f"} device-1 | {"level":"info","message":"GET /devices/53afee31-ad38-43bd-94d5-423a73840c03? 200 16ms","method":"GET","requestID":"7e49da47fc1d797cf433d395f70d680f","responseTime":16,"status":200,"url":"/devices/53afee31-ad38-43bd-94d5-423a73840c03?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"9bb034b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"9bb034b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/e44ac2f4-b40d-4a2a-a594-b88891d05d3d'","requestID":"9bb034b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e44ac2f4-b40d-4a2a-a594-b88891d05d3d'","requestID":"9bb034b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"9bb034b0-4430-11ef-b47c-55a12d3fdb12"} 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":"9bb034b0-4430-11ef-b47c-55a12d3fdb12","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","requestID":"9bb034b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/e44ac2f4-b40d-4a2a-a594-b88891d05d3d","device":"53afee31-ad38-43bd-94d5-423a73840c03","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"d2875465095dcb8a34ecea1796da2831"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9bb9d1a0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"759d99d8-1bd6-41db-96ed-13762644a504","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216103.3593774} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.767719,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9bb9d1a0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9bb9d1a0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9bb9d1a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2/signaling 200 9ms","method":"POST","requestID":"9bb9d1a0-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9bbb7f50-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53afee31-ad38-43bd-94d5-423a73840c03","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fbd25c4a-f0da-4cf8-b572-e35e9cf32e37","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216103.3697326} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.504946,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9bbb7f50-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9bbb7f50-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9bbb7f50-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/53afee31-ad38-43bd-94d5-423a73840c03/signaling 200 9ms","method":"POST","requestID":"9bbb7f50-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/53afee31-ad38-43bd-94d5-423a73840c03/signaling"} device-1 | {"device":"53afee31-ad38-43bd-94d5-423a73840c03","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"53afee31-ad38-43bd-94d5-423a73840c03","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 5379956145952452689 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:Cnog\r\na=ice-pwd:h1A0IOXusKpAGJHUiKSVuu0o\r\na=ice-options:trickle\r\na=fingerprint:sha-256 4C:ED:EF:3B:65:CB:98:64:6F:11:91:5E:8E:B6:5B:4F:03:CC:C2:21:E2:67:D1:41:F8:F4:DB:61:EB:8D:30:66\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"53afee31-ad38-43bd-94d5-423a73840c03","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"53afee31-ad38-43bd-94d5-423a73840c03","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"f5e93540-b463-4e7e-ab99-0da8ffd914b2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"e44ac2f4-b40d-4a2a-a594-b88891d05d3d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f5e93540-b463-4e7e-ab99-0da8ffd914b2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f5e93540-b463-4e7e-ab99-0da8ffd914b2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f5e93540-b463-4e7e-ab99-0da8ffd914b2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f5e93540-b463-4e7e-ab99-0da8ffd914b2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e44ac2f4-b40d-4a2a-a594-b88891d05d3d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e44ac2f4-b40d-4a2a-a594-b88891d05d3d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"89abd667d07c1fd3b9efb84f73a74c7a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"89abd667d07c1fd3b9efb84f73a74c7a","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/f5e93540-b463-4e7e-ab99-0da8ffd914b2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e44ac2f4-b40d-4a2a-a594-b88891d05d3d"}}},"level":"info","message":"received a callback","requestID":"89abd667d07c1fd3b9efb84f73a74c7a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"89abd667d07c1fd3b9efb84f73a74c7a","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:05 +0000","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":"89abd667d07c1fd3b9efb84f73a74c7a"} device-1 | {"content":{"candidate":"candidate:644749284 1 udp 2113937151 d1ed3b37-9e32-481e-9fe8-03ee36916f32.local 56056 typ host generation 0 ufrag Cnog network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"53afee31-ad38-43bd-94d5-423a73840c03","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3041244919 1 udp 1677729535 141.24.211.56 56056 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag Cnog network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"53afee31-ad38-43bd-94d5-423a73840c03","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:191433989 1 udp 33562623 141.24.210.113 54890 typ relay raddr 141.24.211.56 rport 56056 generation 0 ufrag Cnog network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"53afee31-ad38-43bd-94d5-423a73840c03","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"53afee31-ad38-43bd-94d5-423a73840c03","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"f5e93540-b463-4e7e-ab99-0da8ffd914b2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"53afee31-ad38-43bd-94d5-423a73840c03","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"f5e93540-b463-4e7e-ab99-0da8ffd914b2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03'"} device-1 | {"data":{"peerconnection":"e44ac2f4-b40d-4a2a-a594-b88891d05d3d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"e44ac2f4-b40d-4a2a-a594-b88891d05d3d","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/e44ac2f4-b40d-4a2a-a594-b88891d05d3d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e44ac2f4-b40d-4a2a-a594-b88891d05d3d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7ff4cbc82112390f5fc2a0c91bf6aadb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7ff4cbc82112390f5fc2a0c91bf6aadb","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/f5e93540-b463-4e7e-ab99-0da8ffd914b2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e44ac2f4-b40d-4a2a-a594-b88891d05d3d"}}},"level":"info","message":"received a callback","requestID":"7ff4cbc82112390f5fc2a0c91bf6aadb"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"9cfd4e20-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:05Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe44ac2f4-b40d-4a2a-a594-b88891d05d3d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86a8eff6-abeb-4027-9f50-32f326e7b0b6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216105.4814935} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.222269,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e44ac2f4-b40d-4a2a-a594-b88891d05d3d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9cfd4e20-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e44ac2f4-b40d-4a2a-a594-b88891d05d3d","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","method":"POST","requestID":"9cfd4e20-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"9cfd4e20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/e44ac2f4-b40d-4a2a-a594-b88891d05d3d 200 14ms","method":"GET","requestID":"9cfd4e20-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/peerconnections/e44ac2f4-b40d-4a2a-a594-b88891d05d3d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"7ff4cbc82112390f5fc2a0c91bf6aadb","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch","requestID":"7ff4cbc82112390f5fc2a0c91bf6aadb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d02f370-4430-11ef-b47c-55a12d3fdb12"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNX0.q7f3YpQiXMBwKfs8joLZXMDEUaEiA2R7T-2F0nvzBbc","level":"info","message":"auth send jwt","requestID":"9a7e5568e55ca0974441a16f18cbfeee"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9a7e5568e55ca0974441a16f18cbfeee","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:05Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f009aad7-6479-4169-b529-e06b04b26e39","requestID":"9a7e5568e55ca0974441a16f18cbfeee"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9cc1d6d2-981c-4332-b7dd-34f7cf8e6cd5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216105.5186496} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.480418,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9d02f370-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"9d02f370-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.980971,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9a7e5568e55ca0974441a16f18cbfeee","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216105,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNX0.q7f3YpQiXMBwKfs8joLZXMDEUaEiA2R7T-2F0nvzBbc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9a7e5568e55ca0974441a16f18cbfeee","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d02f370-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2/signaling 200 16ms","method":"POST","requestID":"9d02f370-4430-11ef-b47c-55a12d3fdb12","responseTime":16,"status":200,"url":"/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d0600b0-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f009aad7-6479-4169-b529-e06b04b26e39","requestID":"9a7e5568e55ca0974441a16f18cbfeee"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:05Z"} gateway-1 | {"time_local":"17/Jul/2024:11:35:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f009aad7-6479-4169-b529-e06b04b26e39 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9a7e5568e55ca0974441a16f18cbfeee"} experiment-1 | {"level":"info","message":"GET /experiments/f009aad7-6479-4169-b529-e06b04b26e39 200 21ms","method":"GET","requestID":"9a7e5568e55ca0974441a16f18cbfeee","responseTime":21,"status":200,"url":"/experiments/f009aad7-6479-4169-b529-e06b04b26e39"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53afee31-ad38-43bd-94d5-423a73840c03","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1b782e01-d5a7-4151-b050-01afdc9e2ff3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216105.5386803} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.973415,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9d0600b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"9d0600b0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNX0.q7f3YpQiXMBwKfs8joLZXMDEUaEiA2R7T-2F0nvzBbc","level":"info","message":"auth send jwt","requestID":"dd0d72f79aff86832e65848e90ab5921"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"dd0d72f79aff86832e65848e90ab5921","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d0600b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/53afee31-ad38-43bd-94d5-423a73840c03/signaling 200 15ms","method":"POST","requestID":"9d0600b0-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/53afee31-ad38-43bd-94d5-423a73840c03/signaling"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f009aad7-6479-4169-b529-e06b04b26e39","requestID":"dd0d72f79aff86832e65848e90ab5921"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.931753,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"dd0d72f79aff86832e65848e90ab5921","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216105,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNX0.q7f3YpQiXMBwKfs8joLZXMDEUaEiA2R7T-2F0nvzBbc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dd0d72f79aff86832e65848e90ab5921","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39"},"level":"info","message":"Attempting to finish experiment","requestID":"dd0d72f79aff86832e65848e90ab5921"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"9d0abba0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.005715,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:05Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e44ac2f4-b40d-4a2a-a594-b88891d05d3d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9d0abba0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/e44ac2f4-b40d-4a2a-a594-b88891d05d3d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216105,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNX0.q7f3YpQiXMBwKfs8joLZXMDEUaEiA2R7T-2F0nvzBbc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9d0abba0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"f5e93540-b463-4e7e-ab99-0da8ffd914b2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f5e93540-b463-4e7e-ab99-0da8ffd914b2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f5e93540-b463-4e7e-ab99-0da8ffd914b2","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e44ac2f4-b40d-4a2a-a594-b88891d05d3d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e44ac2f4-b40d-4a2a-a594-b88891d05d3d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"e44ac2f4-b40d-4a2a-a594-b88891d05d3d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/e44ac2f4-b40d-4a2a-a594-b88891d05d3d","device":"53afee31-ad38-43bd-94d5-423a73840c03","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3e41d703157e68f7166111d46ad0941d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"3e41d703157e68f7166111d46ad0941d","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0a410c5de1d508f394e58db44aed0d79","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0a410c5de1d508f394e58db44aed0d79","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/f5e93540-b463-4e7e-ab99-0da8ffd914b2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e44ac2f4-b40d-4a2a-a594-b88891d05d3d"}}},"level":"info","message":"received a callback","requestID":"3e41d703157e68f7166111d46ad0941d"} 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/f5e93540-b463-4e7e-ab99-0da8ffd914b2"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e44ac2f4-b40d-4a2a-a594-b88891d05d3d"}}},"level":"info","message":"received a callback","requestID":"0a410c5de1d508f394e58db44aed0d79"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe44ac2f4-b40d-4a2a-a594-b88891d05d3d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe44ac2f4-b40d-4a2a-a594-b88891d05d3d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"8af1a84d-f71d-40e3-bccf-e1d513882f53","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216105.5952728} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b20cabdb-23a3-4f8d-b1b4-16d05ff2a094","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216105.5954857} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"9d0abba0-4430-11ef-b47c-55a12d3fdb12","responseTime":17,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"e44ac2f4-b40d-4a2a-a594-b88891d05d3d","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"9d0abba0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/e44ac2f4-b40d-4a2a-a594-b88891d05d3d 204 45ms","method":"DELETE","requestID":"9d0abba0-4430-11ef-b47c-55a12d3fdb12","responseTime":45,"status":204,"url":"/peerconnections/e44ac2f4-b40d-4a2a-a594-b88891d05d3d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f009aad7-6479-4169-b529-e06b04b26e39"},"level":"info","message":"Successfully finished experiment","requestID":"dd0d72f79aff86832e65848e90ab5921"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d147fa0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:05Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff5e93540-b463-4e7e-ab99-0da8ffd914b2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3cf054d5-8e96-425e-a14e-fd85a28ec37f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216105.6330578} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.770899,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9d147fa0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"9d147fa0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d147fa0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2/signaling 200 11ms","method":"POST","requestID":"9d147fa0-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d16a280-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff009aad7-6479-4169-b529-e06b04b26e39': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff009aad7-6479-4169-b529-e06b04b26e39","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"5e62e885-6f2b-4d10-a8ff-0fe7c304af63","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216105.6408734} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f9e3a3bc-9351-4f30-8db9-eff763188223","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216105.6412342} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"dd0d72f79aff86832e65848e90ab5921","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:05Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F53afee31-ad38-43bd-94d5-423a73840c03","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"25752a66-f27a-4194-9538-7bd417b16a72","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216105.6467583} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.283847,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9d16a280-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9d16a280-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d16a280-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/53afee31-ad38-43bd-94d5-423a73840c03/signaling 200 12ms","method":"POST","requestID":"9d16a280-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/53afee31-ad38-43bd-94d5-423a73840c03/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f009aad7-6479-4169-b529-e06b04b26e39","requestID":"dd0d72f79aff86832e65848e90ab5921"} gateway-1 | {"time_local":"17/Jul/2024:11:35:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f009aad7-6479-4169-b529-e06b04b26e39 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":"dd0d72f79aff86832e65848e90ab5921"} gateway-1 | {"time_local":"17/Jul/2024:11:35:05 +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.189","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5ccce1dcd8915cd10f7287b016d2b701"} experiment-1 | {"level":"info","message":"DELETE /experiments/f009aad7-6479-4169-b529-e06b04b26e39 204 161ms","method":"DELETE","requestID":"dd0d72f79aff86832e65848e90ab5921","responseTime":161,"status":204,"url":"/experiments/f009aad7-6479-4169-b529-e06b04b26e39"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 119ms","method":"POST","requestID":"3e41d703157e68f7166111d46ad0941d","responseTime":119,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:05 +0000","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":"3e41d703157e68f7166111d46ad0941d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 119ms","method":"POST","requestID":"0a410c5de1d508f394e58db44aed0d79","responseTime":119,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"0a410c5de1d508f394e58db44aed0d79"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNX0.q7f3YpQiXMBwKfs8joLZXMDEUaEiA2R7T-2F0nvzBbc","level":"info","message":"auth send jwt","requestID":"70dc80e992db40634fca77525bb05057"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"70dc80e992db40634fca77525bb05057","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"70dc80e992db40634fca77525bb05057"} gateway-1 | {"time_local":"17/Jul/2024:11:35:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2501","request_time":"2.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":"5d13d23967a8e9096a605f59854fe0f5"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.818594,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:05Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f5e93540-b463-4e7e-ab99-0da8ffd914b2' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"70dc80e992db40634fca77525bb05057","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216105,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNX0.q7f3YpQiXMBwKfs8joLZXMDEUaEiA2R7T-2F0nvzBbc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"70dc80e992db40634fca77525bb05057","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/53afee31-ad38-43bd-94d5-423a73840c03' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f14954ad-9c6d-477e-90c7-5ef94e682bd9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216105.7338002} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"70dc80e992db40634fca77525bb05057","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ab5c932-b4d2-40d3-ba8c-24abeac7186a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216105.7389352} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"70dc80e992db40634fca77525bb05057","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"47e21e64-78f3-4a81-9fb7-fd816e7b814a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216105.747801} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fdca100f-34aa-42b7-ad9d-edf5ee69d520","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216105.7479868} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"70dc80e992db40634fca77525bb05057","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:05.747788210Z"}]},"request_id":"cf804a87-c264-401d-aa75-1eb32ea91c02","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216105.7530806} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"70dc80e992db40634fca77525bb05057","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"70dc80e992db40634fca77525bb05057"} gateway-1 | {"time_local":"17/Jul/2024:11:35:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"70dc80e992db40634fca77525bb05057"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"70dc80e992db40634fca77525bb05057","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNX0.q7f3YpQiXMBwKfs8joLZXMDEUaEiA2R7T-2F0nvzBbc","level":"info","message":"auth send jwt","requestID":"96e3be00d66898e39f66a8e97fc37b7f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"96e3be00d66898e39f66a8e97fc37b7f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"96e3be00d66898e39f66a8e97fc37b7f"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.688566,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"96e3be00d66898e39f66a8e97fc37b7f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216105,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNX0.q7f3YpQiXMBwKfs8joLZXMDEUaEiA2R7T-2F0nvzBbc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"96e3be00d66898e39f66a8e97fc37b7f","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f309060a-fb99-424a-9c4c-afb04c3ee0cd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216105.7788959} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"96e3be00d66898e39f66a8e97fc37b7f","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"402aec35-4563-4f1d-ad59-050a3fb615f5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216105.784319} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"96e3be00d66898e39f66a8e97fc37b7f","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"1833216b-1ca4-4f2d-9589-09f00ecaaeab","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216105.8012724} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4cb04759-8141-4f5f-afba-72599deb6dd2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216105.8015463} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"96e3be00d66898e39f66a8e97fc37b7f","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:05.801260425Z"}]},"request_id":"d877bef7-b354-4488-bc15-12e747868b4a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216105.8055472} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"96e3be00d66898e39f66a8e97fc37b7f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"96e3be00d66898e39f66a8e97fc37b7f"} gateway-1 | {"time_local":"17/Jul/2024:11:35:05 +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":"96e3be00d66898e39f66a8e97fc37b7f"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"96e3be00d66898e39f66a8e97fc37b7f","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ","level":"info","message":"auth send jwt","requestID":"158b7a38060c1677c5855671f1dd3dcf"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"158b7a38060c1677c5855671f1dd3dcf","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"158b7a38060c1677c5855671f1dd3dcf"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.718716,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"158b7a38060c1677c5855671f1dd3dcf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216106,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"158b7a38060c1677c5855671f1dd3dcf","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:05.747788210Z"}]},"request_id":"691aa555-ec0c-445f-b32c-998633e83cd9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.2925322} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"158b7a38060c1677c5855671f1dd3dcf","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0dc7abe2-e18f-415c-90b2-86a0bbcd00f1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.2985063} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"158b7a38060c1677c5855671f1dd3dcf","responseTime":5,"status":200,"url":"/relations/update"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ","level":"info","message":"auth send jwt","requestID":"4d0102df48c65584cbe2858ca829807e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4d0102df48c65584cbe2858ca829807e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"4d0102df48c65584cbe2858ca829807e"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.899019,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"4d0102df48c65584cbe2858ca829807e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216106,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4d0102df48c65584cbe2858ca829807e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:05.747788210Z"}]},"request_id":"fcf9b37a-1ab0-4474-9cbb-29c122d06225","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.3098383} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"158b7a38060c1677c5855671f1dd3dcf","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"158b7a38060c1677c5855671f1dd3dcf"} gateway-1 | {"time_local":"17/Jul/2024:11:35:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b9227261-efa4-44c5-9aa7-bcc256c7431b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.035","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"158b7a38060c1677c5855671f1dd3dcf"} device-1 | {"level":"info","message":"PATCH /devices/b9227261-efa4-44c5-9aa7-bcc256c7431b 200 31ms","method":"PATCH","requestID":"158b7a38060c1677c5855671f1dd3dcf","responseTime":31,"status":200,"url":"/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:05.801260425Z"}]},"request_id":"c121e69f-d5fe-428b-8fc7-61e29295b1b9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.31494} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4d0102df48c65584cbe2858ca829807e","responseTime":4,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ","level":"info","message":"auth send jwt","requestID":"942c48b5afceca2721b778165966c9c1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"942c48b5afceca2721b778165966c9c1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"942c48b5afceca2721b778165966c9c1"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c81bc29-55ab-4022-97a7-87f6513b2824","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.3205247} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"4d0102df48c65584cbe2858ca829807e","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.004253,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"942c48b5afceca2721b778165966c9c1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216106,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"942c48b5afceca2721b778165966c9c1","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:05.801260425Z"}]},"request_id":"589c4366-e37f-4fc2-88c7-34bf64584bee","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.3342614} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4d0102df48c65584cbe2858ca829807e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"4d0102df48c65584cbe2858ca829807e"} gateway-1 | {"time_local":"17/Jul/2024:11:35:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9 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":"4d0102df48c65584cbe2858ca829807e"} device-1 | {"level":"info","message":"PATCH /devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9 200 34ms","method":"PATCH","requestID":"4d0102df48c65584cbe2858ca829807e","responseTime":34,"status":200,"url":"/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ","level":"info","message":"auth send jwt","requestID":"31da19cadebdd93391d2fc9d535ba02c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"31da19cadebdd93391d2fc9d535ba02c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"31da19cadebdd93391d2fc9d535ba02c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"942c48b5afceca2721b778165966c9c1"} device-1 | {"level":"info","message":"POST /devices/b9227261-efa4-44c5-9aa7-bcc256c7431b/websocket 200 25ms","method":"POST","requestID":"942c48b5afceca2721b778165966c9c1","responseTime":25,"status":200,"url":"/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:35:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b9227261-efa4-44c5-9aa7-bcc256c7431b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"942c48b5afceca2721b778165966c9c1"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672894,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"31da19cadebdd93391d2fc9d535ba02c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216106,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"31da19cadebdd93391d2fc9d535ba02c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"31da19cadebdd93391d2fc9d535ba02c"} gateway-1 | {"time_local":"17/Jul/2024:11:35:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.016","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"31da19cadebdd93391d2fc9d535ba02c"} device-1 | {"level":"info","message":"POST /devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9/websocket 200 11ms","method":"POST","requestID":"31da19cadebdd93391d2fc9d535ba02c","responseTime":11,"status":200,"url":"/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ","level":"info","message":"auth send jwt","requestID":"f211b132dc7b322df6c2675081cb7e60"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f211b132dc7b322df6c2675081cb7e60","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f211b132dc7b322df6c2675081cb7e60"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.975131,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"f211b132dc7b322df6c2675081cb7e60","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216106,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f211b132dc7b322df6c2675081cb7e60","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:05.747788210Z"}]},"request_id":"34630927-3421-41bf-80d6-f2e24f65204b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.388507} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f211b132dc7b322df6c2675081cb7e60","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f211b132dc7b322df6c2675081cb7e60"} device-1 | {"level":"info","message":"GET /devices/b9227261-efa4-44c5-9aa7-bcc256c7431b? 200 14ms","method":"GET","requestID":"f211b132dc7b322df6c2675081cb7e60","responseTime":14,"status":200,"url":"/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b?"} gateway-1 | {"time_local":"17/Jul/2024:11:35:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b9227261-efa4-44c5-9aa7-bcc256c7431b? 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":"f211b132dc7b322df6c2675081cb7e60"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ","level":"info","message":"auth send jwt","requestID":"3acfd3caa30c2ef8ca2a7246c6a429cc"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3acfd3caa30c2ef8ca2a7246c6a429cc","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3acfd3caa30c2ef8ca2a7246c6a429cc"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.009381,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"3acfd3caa30c2ef8ca2a7246c6a429cc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216106,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3acfd3caa30c2ef8ca2a7246c6a429cc","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:05.801260425Z"}]},"request_id":"6aae7e5e-916f-435b-a1e8-dec693801488","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.4112942} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3acfd3caa30c2ef8ca2a7246c6a429cc","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3acfd3caa30c2ef8ca2a7246c6a429cc"} gateway-1 | {"time_local":"17/Jul/2024:11:35:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9? 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":"3acfd3caa30c2ef8ca2a7246c6a429cc"} device-1 | {"level":"info","message":"GET /devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9? 200 15ms","method":"GET","requestID":"3acfd3caa30c2ef8ca2a7246c6a429cc","responseTime":15,"status":200,"url":"/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ","level":"info","message":"auth send jwt","requestID":"4d94e78180bd7155761735b9fcb24d9d"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4d94e78180bd7155761735b9fcb24d9d","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"4d94e78180bd7155761735b9fcb24d9d"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.067067,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"4d94e78180bd7155761735b9fcb24d9d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216106,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4d94e78180bd7155761735b9fcb24d9d","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80"},"level":"info","message":"Attempting to run experiment","requestID":"4d94e78180bd7155761735b9fcb24d9d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80"},"level":"info","message":"Attempting to book experiment","requestID":"4d94e78180bd7155761735b9fcb24d9d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80"},"level":"info","message":"Successfully booked experiment","requestID":"4d94e78180bd7155761735b9fcb24d9d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9d9632c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9d9680e0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.095272,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9d9632c0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216106,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"9d9632c0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.637807,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9d9680e0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216106,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9d9680e0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:05.747788210Z"}]},"request_id":"997d43db-b68d-4074-bb9f-1961d43b0d69","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.490932} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"9d9632c0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:05.801260425Z"}]},"request_id":"8d23ac5e-e404-4258-8938-a4b4adf4059d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.4928195} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9d9680e0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9d9632c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/b9227261-efa4-44c5-9aa7-bcc256c7431b? 200 23ms","method":"GET","requestID":"9d9632c0-4430-11ef-b47c-55a12d3fdb12","responseTime":23,"status":200,"url":"/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9d9680e0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9? 200 22ms","method":"GET","requestID":"9d9680e0-4430-11ef-b47c-55a12d3fdb12","responseTime":22,"status":200,"url":"/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80"},"level":"info","message":"Setting up experiment","requestID":"4d94e78180bd7155761735b9fcb24d9d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"4d94e78180bd7155761735b9fcb24d9d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80"},"level":"info","message":"Successfully locked booking for experiment","requestID":"4d94e78180bd7155761735b9fcb24d9d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"4d94e78180bd7155761735b9fcb24d9d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"4d94e78180bd7155761735b9fcb24d9d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80"},"level":"info","message":"Attempting to update booking for experiment","requestID":"4d94e78180bd7155761735b9fcb24d9d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80"},"level":"info","message":"Successfully updated booking for experiment","requestID":"4d94e78180bd7155761735b9fcb24d9d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80"},"level":"info","message":"Successfully set up experiment","requestID":"4d94e78180bd7155761735b9fcb24d9d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9da3a040-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9da3ee60-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9da46390-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80"},"level":"info","message":"Successfully running experiment","requestID":"4d94e78180bd7155761735b9fcb24d9d"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.600195,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9da3a040-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216106,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"9da3a040-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.886077,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9da3ee60-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216106,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"9da3ee60-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a14c4ac-fa4a-4a0e-aaf1-f441c4b5eef6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.5782282} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.535442,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:05.747788210Z"}]},"request_id":"723fcf84-6ce8-49cc-a498-9acfa5997035","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.5846112} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9da46390-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"9da46390-4430-11ef-b47c-55a12d3fdb12","responseTime":16,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 11ms","method":"POST","requestID":"9da3a040-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:05.801260425Z"}]},"request_id":"e695eb80-1830-4bbb-a9ec-4e2314a2378e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.587869} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"9da3ee60-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9da3a040-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/b9227261-efa4-44c5-9aa7-bcc256c7431b? 200 32ms","method":"GET","requestID":"9da3a040-4430-11ef-b47c-55a12d3fdb12","responseTime":32,"status":200,"url":"/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9da46390-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/b9227261-efa4-44c5-9aa7-bcc256c7431b/signaling 200 28ms","method":"POST","requestID":"9da46390-4430-11ef-b47c-55a12d3fdb12","responseTime":28,"status":200,"url":"/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9da3ee60-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F57dcb95e-627c-42e6-82b2-9dd03742fa80#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F57dcb95e-627c-42e6-82b2-9dd03742fa80","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"c93eacbd-858e-4613-aa52-784dab8cf7ae","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.5983849} device-1 | {"level":"info","message":"GET /devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9? 200 33ms","method":"GET","requestID":"9da3ee60-4430-11ef-b47c-55a12d3fdb12","responseTime":33,"status":200,"url":"/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9da94590-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9da993b0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"04b97a91-9088-42c7-9f15-6a023f07fa86","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.6000972} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"4d94e78180bd7155761735b9fcb24d9d","responseTime":29,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6011bbe6-65d0-43c0-b765-7be5f8ba0878","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.6103494} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.623025,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9da94590-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9da94590-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"327d8a8b-d99a-4586-b241-ed99ccf65c99","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.611728} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.53591,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9da993b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9da993b0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"4d94e78180bd7155761735b9fcb24d9d"} gateway-1 | {"time_local":"17/Jul/2024:11:35:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.196","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4d94e78180bd7155761735b9fcb24d9d"} experiment-1 | {"level":"info","message":"POST /experiments? 201 189ms","method":"POST","requestID":"4d94e78180bd7155761735b9fcb24d9d","responseTime":189,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9da94590-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9/signaling 200 16ms","method":"POST","requestID":"9da94590-4430-11ef-b47c-55a12d3fdb12","responseTime":16,"status":200,"url":"/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9da993b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/b9227261-efa4-44c5-9aa7-bcc256c7431b/signaling 200 15ms","method":"POST","requestID":"9da993b0-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9dac52d0-4430-11ef-b47c-55a12d3fdb12"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ","level":"info","message":"auth send jwt","requestID":"2d7609cdad540c3ccc7069f302f6fc30"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2d7609cdad540c3ccc7069f302f6fc30","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2d7609cdad540c3ccc7069f302f6fc30"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"01832f14-2e23-48fd-b472-28583a5c38ef","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.6264277} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.352555,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.831471,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9dac52d0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9dac52d0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"2d7609cdad540c3ccc7069f302f6fc30","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216106,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2d7609cdad540c3ccc7069f302f6fc30","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9dac52d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9/signaling 200 12ms","method":"POST","requestID":"9dac52d0-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9/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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:05.747788210Z"}]},"request_id":"74ce881a-03a3-4191-a548-90e52f10399d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.6334536} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"4d94e78180bd7155761735b9fcb24d9d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80"},"level":"info","message":"Building connection plan","requestID":"4d94e78180bd7155761735b9fcb24d9d"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"f0d58c2d-3026-4edf-aa99-cea52c83a165"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"2fe92144-2779-4b77-bb63-2581173793e4"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d0b35764-05d3-44a0-94e0-7e4004921b3b"}]},"level":"info","message":"Built pairwise service configurations","requestID":"4d94e78180bd7155761735b9fcb24d9d"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2d7609cdad540c3ccc7069f302f6fc30","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"4d94e78180bd7155761735b9fcb24d9d"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"9dae9cc0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2d7609cdad540c3ccc7069f302f6fc30"} gateway-1 | {"time_local":"17/Jul/2024:11:35:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b9227261-efa4-44c5-9aa7-bcc256c7431b? 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":"2d7609cdad540c3ccc7069f302f6fc30"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:06Z"} device-1 | {"level":"info","message":"GET /devices/b9227261-efa4-44c5-9aa7-bcc256c7431b? 200 16ms","method":"GET","requestID":"2d7609cdad540c3ccc7069f302f6fc30","responseTime":16,"status":200,"url":"/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b?"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.743763,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9dae9cc0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216106,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9dae9cc0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ","level":"info","message":"auth send jwt","requestID":"0b374ea274e2bf4d4e777f2cc713ed4a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0b374ea274e2bf4d4e777f2cc713ed4a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0b374ea274e2bf4d4e777f2cc713ed4a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.613252,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"0b374ea274e2bf4d4e777f2cc713ed4a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216106,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwNn0.4c2KFjBLwQAZTfFcdpEsmhQ7ohlI0K24dJvoJMFvfwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0b374ea274e2bf4d4e777f2cc713ed4a","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"ac201a75-ae12-482c-960f-3d8e5949f863","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.651966} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"57a5777f-93c6-4dd3-9cd0-b1dad0bac873","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.6520631} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"9dae9cc0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:05.801260425Z"}]},"request_id":"9c72e813-bc23-4c89-9693-fb22ca6eb648","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.6531887} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0b374ea274e2bf4d4e777f2cc713ed4a","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0b374ea274e2bf4d4e777f2cc713ed4a"} gateway-1 | {"time_local":"17/Jul/2024:11:35:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9? 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":"0b374ea274e2bf4d4e777f2cc713ed4a"} device-1 | {"level":"info","message":"GET /devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9? 200 15ms","method":"GET","requestID":"0b374ea274e2bf4d4e777f2cc713ed4a","responseTime":15,"status":200,"url":"/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"9dae9cc0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"9dae9cc0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/d518ea52-4562-44d6-a697-852a250418c8'","requestID":"9dae9cc0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d518ea52-4562-44d6-a697-852a250418c8'","requestID":"9dae9cc0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"9dae9cc0-4430-11ef-b47c-55a12d3fdb12"} 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":"9dae9cc0-4430-11ef-b47c-55a12d3fdb12","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","requestID":"9dae9cc0-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"4d94e78180bd7155761735b9fcb24d9d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9db79d70-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a270e1f7-957a-4b8f-b33c-1e39b3eca539","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.7002723} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.02892,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9db79d70-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9db79d70-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9db79d70-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/b9227261-efa4-44c5-9aa7-bcc256c7431b/signaling 200 10ms","method":"POST","requestID":"9db79d70-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9db97230-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a32fba0-6309-4f8b-9c15-f2109acac7c8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216106.712669} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.795474,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9db97230-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9db97230-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9db97230-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9/signaling 200 10ms","method":"POST","requestID":"9db97230-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9/signaling"} device-1 | {"device":"b9227261-efa4-44c5-9aa7-bcc256c7431b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"d518ea52-4562-44d6-a697-852a250418c8","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ed664863-bf3c-4241-8898-b0dc08aa7cf9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"d518ea52-4562-44d6-a697-852a250418c8","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ed664863-bf3c-4241-8898-b0dc08aa7cf9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ed664863-bf3c-4241-8898-b0dc08aa7cf9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ed664863-bf3c-4241-8898-b0dc08aa7cf9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ed664863-bf3c-4241-8898-b0dc08aa7cf9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d518ea52-4562-44d6-a697-852a250418c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d518ea52-4562-44d6-a697-852a250418c8","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bd22f0eeb718b7e9c48c0cf1fc1192b5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bd22f0eeb718b7e9c48c0cf1fc1192b5","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/ed664863-bf3c-4241-8898-b0dc08aa7cf9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d518ea52-4562-44d6-a697-852a250418c8"}}},"level":"info","message":"received a callback","requestID":"bd22f0eeb718b7e9c48c0cf1fc1192b5"} device-1 | {"device":"b9227261-efa4-44c5-9aa7-bcc256c7431b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b9227261-efa4-44c5-9aa7-bcc256c7431b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b9227261-efa4-44c5-9aa7-bcc256c7431b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"bd22f0eeb718b7e9c48c0cf1fc1192b5","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"bd22f0eeb718b7e9c48c0cf1fc1192b5"} device-1 | {"data":{"peerconnection":"d518ea52-4562-44d6-a697-852a250418c8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ed664863-bf3c-4241-8898-b0dc08aa7cf9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b9227261-efa4-44c5-9aa7-bcc256c7431b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b9227261-efa4-44c5-9aa7-bcc256c7431b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ed664863-bf3c-4241-8898-b0dc08aa7cf9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"d518ea52-4562-44d6-a697-852a250418c8","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/d518ea52-4562-44d6-a697-852a250418c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d518ea52-4562-44d6-a697-852a250418c8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d56cc7e04163e2280fead982d85f706a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d56cc7e04163e2280fead982d85f706a","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d518ea52-4562-44d6-a697-852a250418c8"}}},"level":"info","message":"received a callback","requestID":"d56cc7e04163e2280fead982d85f706a"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"9ef68610-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:08Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd518ea52-4562-44d6-a697-852a250418c8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c9c0c600-fd99-4666-a428-ea500c2e0ecf","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216108.7916524} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.222945,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d518ea52-4562-44d6-a697-852a250418c8","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9ef68610-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d518ea52-4562-44d6-a697-852a250418c8","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","method":"POST","requestID":"9ef68610-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"9ef68610-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/d518ea52-4562-44d6-a697-852a250418c8 200 11ms","method":"GET","requestID":"9ef68610-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/peerconnections/d518ea52-4562-44d6-a697-852a250418c8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 44ms","method":"POST","requestID":"d56cc7e04163e2280fead982d85f706a","responseTime":44,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch","requestID":"d56cc7e04163e2280fead982d85f706a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9efc7980-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:08Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"64234093-fa7b-416a-ac7b-2b3f32771fcf","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216108.8304384} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.649315,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9efc7980-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"9efc7980-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9efc7980-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9/signaling 200 13ms","method":"POST","requestID":"9efc7980-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9efeea80-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:08Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"06eab666-4375-4abd-8e67-094f794908fc","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216108.8478355} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.867548,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9efeea80-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"9efeea80-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9efeea80-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/b9227261-efa4-44c5-9aa7-bcc256c7431b/signaling 200 15ms","method":"POST","requestID":"9efeea80-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOH0.HM5qYoG0nTif4ny2FkZiP1hWh3O7UMrPHkwbWY982Ng","level":"info","message":"auth send jwt","requestID":"8e4ae8f6ce62950a3ada84174ea249c0"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8e4ae8f6ce62950a3ada84174ea249c0","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80","requestID":"8e4ae8f6ce62950a3ada84174ea249c0"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.123795,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"8e4ae8f6ce62950a3ada84174ea249c0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216108,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOH0.HM5qYoG0nTif4ny2FkZiP1hWh3O7UMrPHkwbWY982Ng"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8e4ae8f6ce62950a3ada84174ea249c0","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80","requestID":"8e4ae8f6ce62950a3ada84174ea249c0"} gateway-1 | {"time_local":"17/Jul/2024:11:35:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80 HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8e4ae8f6ce62950a3ada84174ea249c0"} experiment-1 | {"level":"info","message":"GET /experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80 200 19ms","method":"GET","requestID":"8e4ae8f6ce62950a3ada84174ea249c0","responseTime":19,"status":200,"url":"/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOH0.HM5qYoG0nTif4ny2FkZiP1hWh3O7UMrPHkwbWY982Ng","level":"info","message":"auth send jwt","requestID":"e3675af5c464a6a8eb44df28e5d79293"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e3675af5c464a6a8eb44df28e5d79293","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80","requestID":"e3675af5c464a6a8eb44df28e5d79293"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.712145,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"e3675af5c464a6a8eb44df28e5d79293","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216108,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOH0.HM5qYoG0nTif4ny2FkZiP1hWh3O7UMrPHkwbWY982Ng"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"e3675af5c464a6a8eb44df28e5d79293","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80"},"level":"info","message":"Attempting to finish experiment","requestID":"e3675af5c464a6a8eb44df28e5d79293"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"9f0b94b0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:08Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.199673,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d518ea52-4562-44d6-a697-852a250418c8","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9f0b94b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/d518ea52-4562-44d6-a697-852a250418c8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216108,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOH0.HM5qYoG0nTif4ny2FkZiP1hWh3O7UMrPHkwbWY982Ng"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9f0b94b0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"b9227261-efa4-44c5-9aa7-bcc256c7431b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b9227261-efa4-44c5-9aa7-bcc256c7431b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b9227261-efa4-44c5-9aa7-bcc256c7431b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ed664863-bf3c-4241-8898-b0dc08aa7cf9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ed664863-bf3c-4241-8898-b0dc08aa7cf9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ed664863-bf3c-4241-8898-b0dc08aa7cf9","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d518ea52-4562-44d6-a697-852a250418c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d518ea52-4562-44d6-a697-852a250418c8' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d518ea52-4562-44d6-a697-852a250418c8","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd518ea52-4562-44d6-a697-852a250418c8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd518ea52-4562-44d6-a697-852a250418c8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"ec7ae911-6ba9-4828-bfa4-4f7cba1b0161","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216108.9522612} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1e77c0c8a407f0ef29161913f5091091","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0cbf80ae-2843-4aa7-b22c-c3b70c4a8675","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216108.953054} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1e77c0c8a407f0ef29161913f5091091","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"9f0b94b0-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"af9ba5991dcc404f8b93bdc53dbd2c5b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/ed664863-bf3c-4241-8898-b0dc08aa7cf9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d518ea52-4562-44d6-a697-852a250418c8"}}},"level":"info","message":"received a callback","requestID":"1e77c0c8a407f0ef29161913f5091091"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"af9ba5991dcc404f8b93bdc53dbd2c5b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d518ea52-4562-44d6-a697-852a250418c8"}}},"level":"info","message":"received a callback","requestID":"af9ba5991dcc404f8b93bdc53dbd2c5b"} device-1 | {"data":{"peerconnection":"d518ea52-4562-44d6-a697-852a250418c8","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"9f0b94b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/d518ea52-4562-44d6-a697-852a250418c8 204 53ms","method":"DELETE","requestID":"9f0b94b0-4430-11ef-b47c-55a12d3fdb12","responseTime":53,"status":204,"url":"/peerconnections/d518ea52-4562-44d6-a697-852a250418c8"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80"},"level":"info","message":"Successfully finished experiment","requestID":"e3675af5c464a6a8eb44df28e5d79293"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9f1817d0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed664863-bf3c-4241-8898-b0dc08aa7cf9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"03081b00-9e1d-42d3-b257-ef6b19a2ddf8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.0126908} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.79031,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9f1817d0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"9f1817d0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F57dcb95e-627c-42e6-82b2-9dd03742fa80': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F57dcb95e-627c-42e6-82b2-9dd03742fa80","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"36291b18-6cec-4515-9764-8330b6b3d0bd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.0205805} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef03b4fd-d47f-4c03-8876-8c641d13020a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.0211532} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"e3675af5c464a6a8eb44df28e5d79293","responseTime":22,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9f1817d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9/signaling 200 22ms","method":"POST","requestID":"9f1817d0-4430-11ef-b47c-55a12d3fdb12","responseTime":22,"status":200,"url":"/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9f1c0f70-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9227261-efa4-44c5-9aa7-bcc256c7431b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ad0c393-c02f-4ca3-b9f7-4017a617c14a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.0429082} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.825108,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9f1c0f70-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"9f1c0f70-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9f1c0f70-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/b9227261-efa4-44c5-9aa7-bcc256c7431b/signaling 200 25ms","method":"POST","requestID":"9f1c0f70-4430-11ef-b47c-55a12d3fdb12","responseTime":25,"status":200,"url":"/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80","requestID":"e3675af5c464a6a8eb44df28e5d79293"} gateway-1 | {"time_local":"17/Jul/2024:11:35:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.205","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e3675af5c464a6a8eb44df28e5d79293"} experiment-1 | {"level":"info","message":"DELETE /experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80 204 199ms","method":"DELETE","requestID":"e3675af5c464a6a8eb44df28e5d79293","responseTime":199,"status":204,"url":"/experiments/57dcb95e-627c-42e6-82b2-9dd03742fa80"} gateway-1 | {"time_local":"17/Jul/2024:11:35:09 +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.755","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"cc21048e95246adeeeac106dc1da95d1"} gateway-1 | {"time_local":"17/Jul/2024:11:35:09 +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":"7c4707551c0dc1bc038274bc76f2637b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 146ms","method":"POST","requestID":"1e77c0c8a407f0ef29161913f5091091","responseTime":146,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35: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.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"1e77c0c8a407f0ef29161913f5091091"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 144ms","method":"POST","requestID":"af9ba5991dcc404f8b93bdc53dbd2c5b","responseTime":144,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35: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.153","http_referrer":"","http_user_agent":"node-fetch","requestID":"af9ba5991dcc404f8b93bdc53dbd2c5b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU","level":"info","message":"auth send jwt","requestID":"7e7feb7d23bc865c19faf960e993931d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7e7feb7d23bc865c19faf960e993931d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7e7feb7d23bc865c19faf960e993931d"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ed664863-bf3c-4241-8898-b0dc08aa7cf9' closed"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.972147,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"7e7feb7d23bc865c19faf960e993931d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216109,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7e7feb7d23bc865c19faf960e993931d","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b9227261-efa4-44c5-9aa7-bcc256c7431b' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba788a3-634c-4cd4-9dbb-328939a292cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"54b2c2e6-d3a5-41da-96b9-9b33ae79d802","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.1346157} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7e7feb7d23bc865c19faf960e993931d","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7053feab-0aa4-445e-b77f-48905f002bf3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.1409662} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"7e7feb7d23bc865c19faf960e993931d","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba788a3-634c-4cd4-9dbb-328939a292cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"a8678d2e-7b5a-4b70-8c2c-dff1dea775fa","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.1514375} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f525edef-3d06-4de1-9981-3a8392bcdf0c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.1517184} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"7e7feb7d23bc865c19faf960e993931d","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba788a3-634c-4cd4-9dbb-328939a292cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbba788a3-634c-4cd4-9dbb-328939a292cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:09.151424746Z"}]},"request_id":"df10fa2e-1c82-4ca8-ba71-9374456052dd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.156697} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7e7feb7d23bc865c19faf960e993931d","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7e7feb7d23bc865c19faf960e993931d"} gateway-1 | {"time_local":"17/Jul/2024:11:35:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e7feb7d23bc865c19faf960e993931d"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"7e7feb7d23bc865c19faf960e993931d","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU","level":"info","message":"auth send jwt","requestID":"ca4aa862443921171064b81af6f32629"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ca4aa862443921171064b81af6f32629","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ca4aa862443921171064b81af6f32629"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.984755,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ca4aa862443921171064b81af6f32629","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216109,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ca4aa862443921171064b81af6f32629","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a72596-9aa1-434c-b96d-fe2eadeccb42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"eb91ae30-3f0e-459e-ad9f-7a7a078724e2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.185037} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ca4aa862443921171064b81af6f32629","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3a2cb57-bb8b-49e8-ad3d-054b47103efc","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.1907735} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"ca4aa862443921171064b81af6f32629","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a72596-9aa1-434c-b96d-fe2eadeccb42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"915bfeb7-de43-45b6-85fb-80d3807977ec","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.208281} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e04de876-e2a9-4f20-9e8e-c0c6a3f6a48d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.2083766} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"ca4aa862443921171064b81af6f32629","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a72596-9aa1-434c-b96d-fe2eadeccb42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90a72596-9aa1-434c-b96d-fe2eadeccb42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:09.208267122Z"}]},"request_id":"68f7bc9c-094f-4247-a523-1a525c0ae451","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.2131977} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ca4aa862443921171064b81af6f32629","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ca4aa862443921171064b81af6f32629"} gateway-1 | {"time_local":"17/Jul/2024:11:35:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ca4aa862443921171064b81af6f32629"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"ca4aa862443921171064b81af6f32629","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU","level":"info","message":"auth send jwt","requestID":"28b127f5cec2227ed23a7d78f439aa28"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"28b127f5cec2227ed23a7d78f439aa28","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"28b127f5cec2227ed23a7d78f439aa28"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.025342,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"28b127f5cec2227ed23a7d78f439aa28","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216109,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"28b127f5cec2227ed23a7d78f439aa28","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e35232a-5628-4548-aa68-b6f538ea89da","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c14ea8d9-5579-4485-a027-357aa4c57ccd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.241753} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"28b127f5cec2227ed23a7d78f439aa28","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e8f8029d-95c6-4e28-aa23-6139064b52dc","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.2469356} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"28b127f5cec2227ed23a7d78f439aa28","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e35232a-5628-4548-aa68-b6f538ea89da","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"5dc5911b-ccfe-4bcd-bd79-1ad074ca5866","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.258881} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"54101063-ac6b-4619-ad9f-6cbcb216e300","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.2591314} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"28b127f5cec2227ed23a7d78f439aa28","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e35232a-5628-4548-aa68-b6f538ea89da","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e35232a-5628-4548-aa68-b6f538ea89da","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:09.258857172Z"}]},"request_id":"605d632c-7c7a-41ec-ac50-2083a24196db","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.264122} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"28b127f5cec2227ed23a7d78f439aa28","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"28b127f5cec2227ed23a7d78f439aa28"} gateway-1 | {"time_local":"17/Jul/2024:11:35:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"28b127f5cec2227ed23a7d78f439aa28"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"28b127f5cec2227ed23a7d78f439aa28","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU","level":"info","message":"auth send jwt","requestID":"06c0eaf49f102dc7bec30ebe2f7f8ecb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"06c0eaf49f102dc7bec30ebe2f7f8ecb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"06c0eaf49f102dc7bec30ebe2f7f8ecb"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.020315,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"06c0eaf49f102dc7bec30ebe2f7f8ecb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216109,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"06c0eaf49f102dc7bec30ebe2f7f8ecb","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcb9df3dd-02ce-42af-b69e-00820e30f727","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8145e217-3f9d-495e-b513-bf66cf22a2d5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.2924452} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"06c0eaf49f102dc7bec30ebe2f7f8ecb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b488f72-dcf7-462d-a79e-20ea9fb4ea05","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.2967696} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"06c0eaf49f102dc7bec30ebe2f7f8ecb","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcb9df3dd-02ce-42af-b69e-00820e30f727","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"07de2508-77d6-4d8a-ab60-1f8c9a0f5fb4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.313966} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"095b8ebd-dcdf-41af-b999-9cbf8afb7cb2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.314185} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"06c0eaf49f102dc7bec30ebe2f7f8ecb","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcb9df3dd-02ce-42af-b69e-00820e30f727","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcb9df3dd-02ce-42af-b69e-00820e30f727","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:09.313950263Z"}]},"request_id":"b86e4277-874a-4b00-877f-7577507f08af","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.3195214} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"06c0eaf49f102dc7bec30ebe2f7f8ecb","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"06c0eaf49f102dc7bec30ebe2f7f8ecb"} gateway-1 | {"time_local":"17/Jul/2024:11:35:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"06c0eaf49f102dc7bec30ebe2f7f8ecb"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"06c0eaf49f102dc7bec30ebe2f7f8ecb","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU","level":"info","message":"auth send jwt","requestID":"bf6c7d4b44274b842155c9f30a887fc0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bf6c7d4b44274b842155c9f30a887fc0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bf6c7d4b44274b842155c9f30a887fc0"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.295724,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bf6c7d4b44274b842155c9f30a887fc0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216109,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bf6c7d4b44274b842155c9f30a887fc0","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ff65559-27d6-4519-bf41-aac363f16af8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c747fc52-9453-4db9-812e-e319d4199486","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.3456178} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bf6c7d4b44274b842155c9f30a887fc0","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8c9a55ed-a3e2-4587-8848-d48d19d6d8df","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.3504372} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"bf6c7d4b44274b842155c9f30a887fc0","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ff65559-27d6-4519-bf41-aac363f16af8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"3b56295a-4b1f-4890-a9f4-2bd7323043a7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.3595724} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30e95e0f-5de8-44e4-9f87-31440aefc71f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.35982} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"bf6c7d4b44274b842155c9f30a887fc0","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ff65559-27d6-4519-bf41-aac363f16af8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5ff65559-27d6-4519-bf41-aac363f16af8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:09.359556255Z"}]},"request_id":"db4e1767-7175-4f9d-b704-172ec0c80eb1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.363698} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bf6c7d4b44274b842155c9f30a887fc0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bf6c7d4b44274b842155c9f30a887fc0"} gateway-1 | {"time_local":"17/Jul/2024:11:35:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bf6c7d4b44274b842155c9f30a887fc0"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"bf6c7d4b44274b842155c9f30a887fc0","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU","level":"info","message":"auth send jwt","requestID":"f51659f41c11ec010b6a87d7f2ef66f4"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f51659f41c11ec010b6a87d7f2ef66f4","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f51659f41c11ec010b6a87d7f2ef66f4"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.640313,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"f51659f41c11ec010b6a87d7f2ef66f4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216109,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f51659f41c11ec010b6a87d7f2ef66f4","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3261c1f4-cf61-4635-901c-98928f65f164","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7bc3b494-c944-49e3-b782-1f8f634b97f8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.3940167} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f51659f41c11ec010b6a87d7f2ef66f4","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"82158409-2e38-4248-98e7-d6ad128c9b46","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.4000459} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f51659f41c11ec010b6a87d7f2ef66f4","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3261c1f4-cf61-4635-901c-98928f65f164","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"a31e7a87-130e-40d2-864e-dac93b54722e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.4162111} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ce4f0ef-0421-4755-9f87-88fbbd9ad71b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.416453} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"f51659f41c11ec010b6a87d7f2ef66f4","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3261c1f4-cf61-4635-901c-98928f65f164","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3261c1f4-cf61-4635-901c-98928f65f164","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:09.416199232Z"}]},"request_id":"884c144b-f4c8-441a-b9d0-8ec99f5bc7d4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.422622} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f51659f41c11ec010b6a87d7f2ef66f4","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f51659f41c11ec010b6a87d7f2ef66f4"} gateway-1 | {"time_local":"17/Jul/2024:11:35:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f51659f41c11ec010b6a87d7f2ef66f4"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"f51659f41c11ec010b6a87d7f2ef66f4","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU","level":"info","message":"auth send jwt","requestID":"97cf0d22ae154bbd6a3fc60f2e17d871"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"97cf0d22ae154bbd6a3fc60f2e17d871","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"97cf0d22ae154bbd6a3fc60f2e17d871"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.694643,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"97cf0d22ae154bbd6a3fc60f2e17d871","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216109,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"97cf0d22ae154bbd6a3fc60f2e17d871","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff775145a-a246-413b-a640-bf4adc6989ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b9d56c0c-0b14-4713-9e5a-f015e93afb73","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.4578893} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"97cf0d22ae154bbd6a3fc60f2e17d871","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1bfb5262-0ee7-49e7-ad4d-d1f7753ff85d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.4660978} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"97cf0d22ae154bbd6a3fc60f2e17d871","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff775145a-a246-413b-a640-bf4adc6989ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"ea8fae5f-0d59-44ce-8eb4-d54fe58d5c70","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.4808614} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b21e6001-07b7-4e4b-9600-db25cb206f91","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.4811687} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"97cf0d22ae154bbd6a3fc60f2e17d871","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff775145a-a246-413b-a640-bf4adc6989ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff775145a-a246-413b-a640-bf4adc6989ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:09.480829293Z"}]},"request_id":"f0af17df-50b0-4684-a9f6-d34d34956f3a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.485921} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"97cf0d22ae154bbd6a3fc60f2e17d871","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"97cf0d22ae154bbd6a3fc60f2e17d871"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"97cf0d22ae154bbd6a3fc60f2e17d871","responseTime":55,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"17/Jul/2024:11:35:09 +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":"97cf0d22ae154bbd6a3fc60f2e17d871"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU","level":"info","message":"auth send jwt","requestID":"30bd5c90d94792a80ad2a5270db7a853"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"30bd5c90d94792a80ad2a5270db7a853","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"30bd5c90d94792a80ad2a5270db7a853"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.359369,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"30bd5c90d94792a80ad2a5270db7a853","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216109,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"30bd5c90d94792a80ad2a5270db7a853","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd567780d-bc55-4ae3-a672-a697f53fbcc1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"62b4336f-0445-440c-9ed6-b43ded8be312","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.518543} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"30bd5c90d94792a80ad2a5270db7a853","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab3f8a48-da57-4456-b76e-2949079643a6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.5264819} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"30bd5c90d94792a80ad2a5270db7a853","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd567780d-bc55-4ae3-a672-a697f53fbcc1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"825a7c87-aded-4deb-a9b2-732132711333","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.540341} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"407b3c1a-d6cc-4e2f-8e9d-25ca7df640c7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.5405328} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"30bd5c90d94792a80ad2a5270db7a853","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd567780d-bc55-4ae3-a672-a697f53fbcc1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd567780d-bc55-4ae3-a672-a697f53fbcc1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:09.540316240Z"}]},"request_id":"e990eeb6-9545-4e8f-89af-95b6fb65d959","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.547911} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"30bd5c90d94792a80ad2a5270db7a853","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"30bd5c90d94792a80ad2a5270db7a853"} gateway-1 | {"time_local":"17/Jul/2024:11:35:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"30bd5c90d94792a80ad2a5270db7a853"} device-1 | {"level":"info","message":"POST /devices? 201 57ms","method":"POST","requestID":"30bd5c90d94792a80ad2a5270db7a853","responseTime":57,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU","level":"info","message":"auth send jwt","requestID":"7feb517b7264be704b2cf006a7be3279"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7feb517b7264be704b2cf006a7be3279","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7feb517b7264be704b2cf006a7be3279"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.2483,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"7feb517b7264be704b2cf006a7be3279","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216109,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7feb517b7264be704b2cf006a7be3279","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dffd2c7-0b36-42ac-998b-4046e6b70690","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d20873b8-0b1f-40a1-b7ee-274e2d41309c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.589422} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"7feb517b7264be704b2cf006a7be3279","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db64d759-cc4b-4bf0-beaf-0634bb84fa32","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.5974102} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"7feb517b7264be704b2cf006a7be3279","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dffd2c7-0b36-42ac-998b-4046e6b70690","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"3574aa89-a0ab-4f5a-ac3b-f887f80b2000","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.6107743} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e726c86-396d-4352-81b2-55c0700837c0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.6110322} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"7feb517b7264be704b2cf006a7be3279","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dffd2c7-0b36-42ac-998b-4046e6b70690","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0dffd2c7-0b36-42ac-998b-4046e6b70690","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:09.610749410Z"}]},"request_id":"dba2fb29-febb-4bc2-b429-fe79f68cfd81","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.6165352} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7feb517b7264be704b2cf006a7be3279","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7feb517b7264be704b2cf006a7be3279"} gateway-1 | {"time_local":"17/Jul/2024:11:35:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7feb517b7264be704b2cf006a7be3279"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"7feb517b7264be704b2cf006a7be3279","responseTime":62,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU","level":"info","message":"auth send jwt","requestID":"a61cc09c2180f72132d99cefae765e56"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a61cc09c2180f72132d99cefae765e56","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a61cc09c2180f72132d99cefae765e56"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.398715,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a61cc09c2180f72132d99cefae765e56","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216109,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a61cc09c2180f72132d99cefae765e56","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34583b2a-caae-4947-8296-117839fbb7d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8c275876-8c8b-49d5-840c-917ce0a7ee68","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.650721} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a61cc09c2180f72132d99cefae765e56","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3823841-5334-46d5-8083-115721fcb5a6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.6585686} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"a61cc09c2180f72132d99cefae765e56","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34583b2a-caae-4947-8296-117839fbb7d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"976834ce-4dab-4455-872b-e97a4224df4f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.6707077} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d79b960-d798-435f-83e9-5ee810d7ca2c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.6709266} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"a61cc09c2180f72132d99cefae765e56","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34583b2a-caae-4947-8296-117839fbb7d2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F34583b2a-caae-4947-8296-117839fbb7d2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:09.670690398Z"}]},"request_id":"ab02da1b-c9c1-492f-b262-b4ad01331f97","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.6754177} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a61cc09c2180f72132d99cefae765e56","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a61cc09c2180f72132d99cefae765e56"} gateway-1 | {"time_local":"17/Jul/2024:11:35:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a61cc09c2180f72132d99cefae765e56"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"a61cc09c2180f72132d99cefae765e56","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU","level":"info","message":"auth send jwt","requestID":"a242df332d96f3c2c820ef8239e38ae8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a242df332d96f3c2c820ef8239e38ae8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a242df332d96f3c2c820ef8239e38ae8"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.974631,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a242df332d96f3c2c820ef8239e38ae8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216109,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a242df332d96f3c2c820ef8239e38ae8","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25deca82-0ab3-42ec-ae78-73e557de1fa1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e839daa4-58c6-4573-b6a9-581c8c8577e9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.7159562} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a242df332d96f3c2c820ef8239e38ae8","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d650a007-15d3-4852-a77f-b0fff192a68c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.7236695} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"a242df332d96f3c2c820ef8239e38ae8","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25deca82-0ab3-42ec-ae78-73e557de1fa1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"83d686fe-e844-4ef5-b77a-b40d7c32724f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.7377846} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd867c0b-a1b0-4ed2-9348-9d099b4042da","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.738122} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"a242df332d96f3c2c820ef8239e38ae8","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25deca82-0ab3-42ec-ae78-73e557de1fa1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25deca82-0ab3-42ec-ae78-73e557de1fa1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:09.737762650Z"}]},"request_id":"ca7ff0b4-34ef-4571-a332-f7c5f01d6a38","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.745153} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a242df332d96f3c2c820ef8239e38ae8","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a242df332d96f3c2c820ef8239e38ae8"} gateway-1 | {"time_local":"17/Jul/2024:11:35:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a242df332d96f3c2c820ef8239e38ae8"} device-1 | {"level":"info","message":"POST /devices? 201 63ms","method":"POST","requestID":"a242df332d96f3c2c820ef8239e38ae8","responseTime":63,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU","level":"info","message":"auth send jwt","requestID":"8024608a377d3bbf4f59fd93ad0be748"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8024608a377d3bbf4f59fd93ad0be748","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8024608a377d3bbf4f59fd93ad0be748"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.261399,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"8024608a377d3bbf4f59fd93ad0be748","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216109,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8024608a377d3bbf4f59fd93ad0be748","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3c16cf7-d6a3-423b-9353-214458fb7f01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"23b4c411-77c4-439e-b302-54cbdafecf54","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.7857933} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8024608a377d3bbf4f59fd93ad0be748","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cf1a06a6-3681-40b5-ac48-67f0da360086","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.79543} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"8024608a377d3bbf4f59fd93ad0be748","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3c16cf7-d6a3-423b-9353-214458fb7f01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"38437dec-e912-4e05-83f4-606baaa13dc9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.9536915} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"82d4dbd9-a331-4ab8-8dcb-862d98ebf82a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.9544635} authorization-1 | {"level":"info","message":"POST /relations/update 200 163ms","method":"POST","requestID":"8024608a377d3bbf4f59fd93ad0be748","responseTime":163,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3c16cf7-d6a3-423b-9353-214458fb7f01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3c16cf7-d6a3-423b-9353-214458fb7f01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:09.953665819Z"}]},"request_id":"539da90d-9322-40bf-96dc-7ac332596965","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216109.9634748} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"8024608a377d3bbf4f59fd93ad0be748","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8024608a377d3bbf4f59fd93ad0be748"} gateway-1 | {"time_local":"17/Jul/2024:11:35:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.216","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8024608a377d3bbf4f59fd93ad0be748"} device-1 | {"level":"info","message":"POST /devices? 201 208ms","method":"POST","requestID":"8024608a377d3bbf4f59fd93ad0be748","responseTime":208,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU","level":"info","message":"auth send jwt","requestID":"bd482dccf89d23d0307acd12c192a959"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bd482dccf89d23d0307acd12c192a959","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bd482dccf89d23d0307acd12c192a959"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.858295,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bd482dccf89d23d0307acd12c192a959","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216109,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEwOX0.mm6I7A2-p8CLqDLMomeOmaqyxvJ5QQuUkcmLlnk0fLU"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"bd482dccf89d23d0307acd12c192a959","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2396788-341c-422f-a0c0-1df02ec63a48","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c087791b-798d-4fc6-b7cc-420d7f49f9b4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216110.1954956} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"bd482dccf89d23d0307acd12c192a959","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de3c3298-9dff-492e-868c-a7092ed2e3ab","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216110.203517} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"bd482dccf89d23d0307acd12c192a959","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2396788-341c-422f-a0c0-1df02ec63a48","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"305ce86e-dd49-4400-ac25-70d3f3e59661","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216110.3944247} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4dd632f-c688-4805-9498-925e168737a1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216110.3945467} authorization-1 | {"level":"info","message":"POST /relations/update 200 194ms","method":"POST","requestID":"bd482dccf89d23d0307acd12c192a959","responseTime":194,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2396788-341c-422f-a0c0-1df02ec63a48","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2396788-341c-422f-a0c0-1df02ec63a48","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:10.394388019Z"}]},"request_id":"b39793b5-964e-4f51-b2ee-a4e6072f6421","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216110.4016771} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bd482dccf89d23d0307acd12c192a959","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bd482dccf89d23d0307acd12c192a959"} gateway-1 | {"time_local":"17/Jul/2024:11:35:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.435","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd482dccf89d23d0307acd12c192a959"} device-1 | {"level":"info","message":"POST /devices? 201 428ms","method":"POST","requestID":"bd482dccf89d23d0307acd12c192a959","responseTime":428,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMH0.dqxNY9nJQpCDk6aYpRu3wWg-5BdlBmBlSWEnQYWrGm0","level":"info","message":"auth send jwt","requestID":"030db904ba1071e4281affec70d03589"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"030db904ba1071e4281affec70d03589","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"030db904ba1071e4281affec70d03589"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.893862,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/25deca82-0ab3-42ec-ae78-73e557de1fa1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"030db904ba1071e4281affec70d03589","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/25deca82-0ab3-42ec-ae78-73e557de1fa1","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216110,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMH0.dqxNY9nJQpCDk6aYpRu3wWg-5BdlBmBlSWEnQYWrGm0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"030db904ba1071e4281affec70d03589","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25deca82-0ab3-42ec-ae78-73e557de1fa1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25deca82-0ab3-42ec-ae78-73e557de1fa1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:09.737762650Z"}]},"request_id":"980aac30-d599-450a-ba9b-e5626486cf54","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216110.4291694} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"030db904ba1071e4281affec70d03589","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4610b46-f141-4352-a8b8-480a64773ff0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216110.4348695} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"030db904ba1071e4281affec70d03589","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25deca82-0ab3-42ec-ae78-73e557de1fa1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25deca82-0ab3-42ec-ae78-73e557de1fa1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:09.737762650Z"}]},"request_id":"22789dbe-44e7-43ab-80b7-92c03f0d50c0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216110.59561} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"030db904ba1071e4281affec70d03589","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"030db904ba1071e4281affec70d03589"} gateway-1 | {"time_local":"17/Jul/2024:11:35:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/25deca82-0ab3-42ec-ae78-73e557de1fa1? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"030db904ba1071e4281affec70d03589"} device-1 | {"level":"info","message":"PATCH /devices/25deca82-0ab3-42ec-ae78-73e557de1fa1? 200 183ms","method":"PATCH","requestID":"030db904ba1071e4281affec70d03589","responseTime":183,"status":200,"url":"/devices/25deca82-0ab3-42ec-ae78-73e557de1fa1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMH0.dqxNY9nJQpCDk6aYpRu3wWg-5BdlBmBlSWEnQYWrGm0","level":"info","message":"auth send jwt","requestID":"6b0dd8275b354fa366356f84f739c5e3"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6b0dd8275b354fa366356f84f739c5e3","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"6b0dd8275b354fa366356f84f739c5e3"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.278161,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3c16cf7-d6a3-423b-9353-214458fb7f01","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"6b0dd8275b354fa366356f84f739c5e3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/e3c16cf7-d6a3-423b-9353-214458fb7f01","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216110,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMH0.dqxNY9nJQpCDk6aYpRu3wWg-5BdlBmBlSWEnQYWrGm0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"6b0dd8275b354fa366356f84f739c5e3","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3c16cf7-d6a3-423b-9353-214458fb7f01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3c16cf7-d6a3-423b-9353-214458fb7f01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:09.953665819Z"}]},"request_id":"99d50623-f0f6-449c-ac96-16e808583030","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216110.6279335} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"6b0dd8275b354fa366356f84f739c5e3","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2deb7257-7f1d-4f2b-8a93-5e6e3344cfdd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216110.6372063} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"6b0dd8275b354fa366356f84f739c5e3","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3c16cf7-d6a3-423b-9353-214458fb7f01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3c16cf7-d6a3-423b-9353-214458fb7f01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:09.953665819Z"}]},"request_id":"2f6d5db0-458a-4d2f-b4fc-8576d8bea670","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216110.8739636} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6b0dd8275b354fa366356f84f739c5e3","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"6b0dd8275b354fa366356f84f739c5e3"} gateway-1 | {"time_local":"17/Jul/2024:11:35:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e3c16cf7-d6a3-423b-9353-214458fb7f01? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.276","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6b0dd8275b354fa366356f84f739c5e3"} device-1 | {"level":"info","message":"PATCH /devices/e3c16cf7-d6a3-423b-9353-214458fb7f01? 200 267ms","method":"PATCH","requestID":"6b0dd8275b354fa366356f84f739c5e3","responseTime":267,"status":200,"url":"/devices/e3c16cf7-d6a3-423b-9353-214458fb7f01?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMH0.dqxNY9nJQpCDk6aYpRu3wWg-5BdlBmBlSWEnQYWrGm0","level":"info","message":"auth send jwt","requestID":"8695e9869bbf1bc7e983cb2c199a75b3"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8695e9869bbf1bc7e983cb2c199a75b3","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"8695e9869bbf1bc7e983cb2c199a75b3"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.291138,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2396788-341c-422f-a0c0-1df02ec63a48","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"8695e9869bbf1bc7e983cb2c199a75b3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/c2396788-341c-422f-a0c0-1df02ec63a48","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216110,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMH0.dqxNY9nJQpCDk6aYpRu3wWg-5BdlBmBlSWEnQYWrGm0"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"8695e9869bbf1bc7e983cb2c199a75b3","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2396788-341c-422f-a0c0-1df02ec63a48","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2396788-341c-422f-a0c0-1df02ec63a48","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:10.394388019Z"}]},"request_id":"1eb95342-b734-4f1e-b640-9dd9a3790987","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216110.9056056} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8695e9869bbf1bc7e983cb2c199a75b3","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"067ddf29-f355-4d79-9c7a-43df93c0be34","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216110.91393} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"8695e9869bbf1bc7e983cb2c199a75b3","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2396788-341c-422f-a0c0-1df02ec63a48","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2396788-341c-422f-a0c0-1df02ec63a48","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:10.394388019Z"}]},"request_id":"fda774e2-3925-466b-9119-a55fc151255a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216111.0201182} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8695e9869bbf1bc7e983cb2c199a75b3","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"8695e9869bbf1bc7e983cb2c199a75b3"} gateway-1 | {"time_local":"17/Jul/2024:11:35:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c2396788-341c-422f-a0c0-1df02ec63a48? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8695e9869bbf1bc7e983cb2c199a75b3"} device-1 | {"level":"info","message":"PATCH /devices/c2396788-341c-422f-a0c0-1df02ec63a48? 200 137ms","method":"PATCH","requestID":"8695e9869bbf1bc7e983cb2c199a75b3","responseTime":137,"status":200,"url":"/devices/c2396788-341c-422f-a0c0-1df02ec63a48?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU","level":"info","message":"auth send jwt","requestID":"d4181ce0e5983875f2ead184f5561cd8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d4181ce0e5983875f2ead184f5561cd8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d4181ce0e5983875f2ead184f5561cd8"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.124998,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/25deca82-0ab3-42ec-ae78-73e557de1fa1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d4181ce0e5983875f2ead184f5561cd8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/25deca82-0ab3-42ec-ae78-73e557de1fa1","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216111,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d4181ce0e5983875f2ead184f5561cd8","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25deca82-0ab3-42ec-ae78-73e557de1fa1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25deca82-0ab3-42ec-ae78-73e557de1fa1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:09.737762650Z"}]},"request_id":"b1e40577-bdae-49b2-ab61-5ca00cad3bd1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216111.0445547} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d4181ce0e5983875f2ead184f5561cd8","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.300017,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.230244,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bba788a3-634c-4cd4-9dbb-328939a292cc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d4181ce0e5983875f2ead184f5561cd8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/bba788a3-634c-4cd4-9dbb-328939a292cc","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216111,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"d4181ce0e5983875f2ead184f5561cd8","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/90a72596-9aa1-434c-b96d-fe2eadeccb42","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d4181ce0e5983875f2ead184f5561cd8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/90a72596-9aa1-434c-b96d-fe2eadeccb42","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216111,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"d4181ce0e5983875f2ead184f5561cd8","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56824","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56832","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56824","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.077409,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e35232a-5628-4548-aa68-b6f538ea89da","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d4181ce0e5983875f2ead184f5561cd8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/3e35232a-5628-4548-aa68-b6f538ea89da","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216111,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"d4181ce0e5983875f2ead184f5561cd8","responseTime":14,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56832","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.931955,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3c16cf7-d6a3-423b-9353-214458fb7f01","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d4181ce0e5983875f2ead184f5561cd8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/e3c16cf7-d6a3-423b-9353-214458fb7f01","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216111,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"d4181ce0e5983875f2ead184f5561cd8","responseTime":14,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d4181ce0e5983875f2ead184f5561cd8"} gateway-1 | {"time_local":"17/Jul/2024:11:35:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/25deca82-0ab3-42ec-ae78-73e557de1fa1? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d4181ce0e5983875f2ead184f5561cd8"} device-1 | {"level":"info","message":"GET /devices/25deca82-0ab3-42ec-ae78-73e557de1fa1? 200 42ms","method":"GET","requestID":"d4181ce0e5983875f2ead184f5561cd8","responseTime":42,"status":200,"url":"/devices/25deca82-0ab3-42ec-ae78-73e557de1fa1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU","level":"info","message":"auth send jwt","requestID":"95aa3e016ca130aca0fc64f5c5e5f394"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"95aa3e016ca130aca0fc64f5c5e5f394","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"95aa3e016ca130aca0fc64f5c5e5f394"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.214677,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e3c16cf7-d6a3-423b-9353-214458fb7f01","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"95aa3e016ca130aca0fc64f5c5e5f394","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/e3c16cf7-d6a3-423b-9353-214458fb7f01","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216111,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"95aa3e016ca130aca0fc64f5c5e5f394","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3c16cf7-d6a3-423b-9353-214458fb7f01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe3c16cf7-d6a3-423b-9353-214458fb7f01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:09.953665819Z"}]},"request_id":"dedefa07-6bf3-49bc-8b29-0a49247ae59c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216111.0976589} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"95aa3e016ca130aca0fc64f5c5e5f394","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.912123,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.535985,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56824","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56824","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.783783,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56832","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56832","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.499603,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cb9df3dd-02ce-42af-b69e-00820e30f727","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"95aa3e016ca130aca0fc64f5c5e5f394","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/cb9df3dd-02ce-42af-b69e-00820e30f727","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216111,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"95aa3e016ca130aca0fc64f5c5e5f394","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5ff65559-27d6-4519-bf41-aac363f16af8","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"95aa3e016ca130aca0fc64f5c5e5f394","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/5ff65559-27d6-4519-bf41-aac363f16af8","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216111,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"95aa3e016ca130aca0fc64f5c5e5f394","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3261c1f4-cf61-4635-901c-98928f65f164","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"95aa3e016ca130aca0fc64f5c5e5f394","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/3261c1f4-cf61-4635-901c-98928f65f164","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216111,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"95aa3e016ca130aca0fc64f5c5e5f394","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f775145a-a246-413b-a640-bf4adc6989ce","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"95aa3e016ca130aca0fc64f5c5e5f394","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/f775145a-a246-413b-a640-bf4adc6989ce","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216111,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"95aa3e016ca130aca0fc64f5c5e5f394","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.920095,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56834","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2396788-341c-422f-a0c0-1df02ec63a48","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"95aa3e016ca130aca0fc64f5c5e5f394","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/c2396788-341c-422f-a0c0-1df02ec63a48","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216111,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"95aa3e016ca130aca0fc64f5c5e5f394","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56834","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.136505,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/25deca82-0ab3-42ec-ae78-73e557de1fa1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"95aa3e016ca130aca0fc64f5c5e5f394","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/25deca82-0ab3-42ec-ae78-73e557de1fa1","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216111,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"95aa3e016ca130aca0fc64f5c5e5f394","responseTime":12,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"95aa3e016ca130aca0fc64f5c5e5f394"} gateway-1 | {"time_local":"17/Jul/2024:11:35:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e3c16cf7-d6a3-423b-9353-214458fb7f01? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"95aa3e016ca130aca0fc64f5c5e5f394"} device-1 | {"level":"info","message":"GET /devices/e3c16cf7-d6a3-423b-9353-214458fb7f01? 200 47ms","method":"GET","requestID":"95aa3e016ca130aca0fc64f5c5e5f394","responseTime":47,"status":200,"url":"/devices/e3c16cf7-d6a3-423b-9353-214458fb7f01?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU","level":"info","message":"auth send jwt","requestID":"9df4831a7a7ffbe7c49e9a099a7acb26"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9df4831a7a7ffbe7c49e9a099a7acb26","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9df4831a7a7ffbe7c49e9a099a7acb26"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.808679,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c2396788-341c-422f-a0c0-1df02ec63a48","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9df4831a7a7ffbe7c49e9a099a7acb26","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/c2396788-341c-422f-a0c0-1df02ec63a48","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216111,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9df4831a7a7ffbe7c49e9a099a7acb26","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2396788-341c-422f-a0c0-1df02ec63a48","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc2396788-341c-422f-a0c0-1df02ec63a48","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:10.394388019Z"}]},"request_id":"d0a52dd5-3da5-44bc-888c-be54bda55891","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216111.146662} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"9df4831a7a7ffbe7c49e9a099a7acb26","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.955981,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.017755,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56824","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56824","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.606124,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:56832","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d567780d-bc55-4ae3-a672-a697f53fbcc1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9df4831a7a7ffbe7c49e9a099a7acb26","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/d567780d-bc55-4ae3-a672-a697f53fbcc1","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216111,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"9df4831a7a7ffbe7c49e9a099a7acb26","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0dffd2c7-0b36-42ac-998b-4046e6b70690","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9df4831a7a7ffbe7c49e9a099a7acb26","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/0dffd2c7-0b36-42ac-998b-4046e6b70690","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216111,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"9df4831a7a7ffbe7c49e9a099a7acb26","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/34583b2a-caae-4947-8296-117839fbb7d2","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9df4831a7a7ffbe7c49e9a099a7acb26","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/34583b2a-caae-4947-8296-117839fbb7d2","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216111,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"9df4831a7a7ffbe7c49e9a099a7acb26","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:56832","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.925001,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/25deca82-0ab3-42ec-ae78-73e557de1fa1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9df4831a7a7ffbe7c49e9a099a7acb26","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/25deca82-0ab3-42ec-ae78-73e557de1fa1","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216111,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"9df4831a7a7ffbe7c49e9a099a7acb26","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9df4831a7a7ffbe7c49e9a099a7acb26"} gateway-1 | {"time_local":"17/Jul/2024:11:35:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c2396788-341c-422f-a0c0-1df02ec63a48? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9df4831a7a7ffbe7c49e9a099a7acb26"} device-1 | {"level":"info","message":"GET /devices/c2396788-341c-422f-a0c0-1df02ec63a48? 200 30ms","method":"GET","requestID":"9df4831a7a7ffbe7c49e9a099a7acb26","responseTime":30,"status":200,"url":"/devices/c2396788-341c-422f-a0c0-1df02ec63a48?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU","level":"info","message":"auth send jwt","requestID":"77bfb5455c2808b15fb116e6a33ccc6c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"77bfb5455c2808b15fb116e6a33ccc6c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"77bfb5455c2808b15fb116e6a33ccc6c"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.810538,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"77bfb5455c2808b15fb116e6a33ccc6c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216111,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"77bfb5455c2808b15fb116e6a33ccc6c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e6b8c5c-c74c-4726-8575-75fb9253c203","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4d7d4de3-cff6-495f-b97e-9b500f7fc05b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216111.2018797} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"77bfb5455c2808b15fb116e6a33ccc6c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b64791ad-9807-44d9-9b04-828cf163c712","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216111.2078993} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"77bfb5455c2808b15fb116e6a33ccc6c","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e6b8c5c-c74c-4726-8575-75fb9253c203","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"e1a78b27-bebc-4be8-8b8c-6759b83ca789","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216111.2192688} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4671821d-9d3b-4f0f-b67d-49ed07c757e4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216111.219514} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"77bfb5455c2808b15fb116e6a33ccc6c","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e6b8c5c-c74c-4726-8575-75fb9253c203","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e6b8c5c-c74c-4726-8575-75fb9253c203","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:11.219245723Z"}]},"request_id":"a913a548-52c2-4c8b-a61b-c8a76acda277","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216111.224769} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"77bfb5455c2808b15fb116e6a33ccc6c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"77bfb5455c2808b15fb116e6a33ccc6c"} gateway-1 | {"time_local":"17/Jul/2024:11:35:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"77bfb5455c2808b15fb116e6a33ccc6c"} device-1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"77bfb5455c2808b15fb116e6a33ccc6c","responseTime":53,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU","level":"info","message":"auth send jwt","requestID":"95b105aa9570d49b9f0e834782f1c207"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"95b105aa9570d49b9f0e834782f1c207","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"95b105aa9570d49b9f0e834782f1c207"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.018692,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"95b105aa9570d49b9f0e834782f1c207","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216111,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"95b105aa9570d49b9f0e834782f1c207","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff809d79b-83ac-4385-a6c8-b5b387ef34ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bd06f4ac-69d9-429f-b0c9-964208f86945","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216111.253294} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"95b105aa9570d49b9f0e834782f1c207","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f13e8d7-3957-46d5-abaa-605bd33e050a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216111.2598712} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"95b105aa9570d49b9f0e834782f1c207","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff809d79b-83ac-4385-a6c8-b5b387ef34ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"09ab45f1-efbe-420e-8ca0-0954fa46e2dd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216111.2782097} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"47f4f97e-eda5-409e-ae31-8850aad78504","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216111.278335} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"95b105aa9570d49b9f0e834782f1c207","responseTime":21,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff809d79b-83ac-4385-a6c8-b5b387ef34ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff809d79b-83ac-4385-a6c8-b5b387ef34ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:11.278189792Z"}]},"request_id":"724098d6-a9ab-4305-8876-90f091f1f5cb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216111.2831383} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"95b105aa9570d49b9f0e834782f1c207","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"95b105aa9570d49b9f0e834782f1c207"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"95b105aa9570d49b9f0e834782f1c207","responseTime":52,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"17/Jul/2024:11:35:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"95b105aa9570d49b9f0e834782f1c207"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU","level":"info","message":"auth send jwt","requestID":"716b6b7e83ebe75c938fa7fd041e33da"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"716b6b7e83ebe75c938fa7fd041e33da","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"716b6b7e83ebe75c938fa7fd041e33da"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.2589,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"716b6b7e83ebe75c938fa7fd041e33da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216111,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExMX0.F9lTnDjQfvliJf2Rs1iUHj62EDYlqfC6jthGYbjp7EU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"716b6b7e83ebe75c938fa7fd041e33da","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa395d04e-6a07-4cfa-9d48-c0da52c9d873","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3cab68c9-dc88-4602-a704-e420d64fe7cc","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216111.3136714} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"716b6b7e83ebe75c938fa7fd041e33da","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fdd52800-607f-4c1a-b641-f8977f2d2f4a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216111.3184676} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"716b6b7e83ebe75c938fa7fd041e33da","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa395d04e-6a07-4cfa-9d48-c0da52c9d873","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"9aa2d8eb-7e82-4bb3-9a5f-7a41e36d15d8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216111.330503} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83ab314e-cdb5-403a-bcc8-d77a0e2e5053","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216111.330874} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"716b6b7e83ebe75c938fa7fd041e33da","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa395d04e-6a07-4cfa-9d48-c0da52c9d873","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa395d04e-6a07-4cfa-9d48-c0da52c9d873","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:11.330478486Z"}]},"request_id":"4a5c398e-83d9-4aad-99fb-6e0108a5d9e8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216111.337177} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"716b6b7e83ebe75c938fa7fd041e33da","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"716b6b7e83ebe75c938fa7fd041e33da"} gateway-1 | {"time_local":"17/Jul/2024:11:35:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"716b6b7e83ebe75c938fa7fd041e33da"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"716b6b7e83ebe75c938fa7fd041e33da","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6e9129bb9e6948a2051e26b1ae7fb70e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6e9129bb9e6948a2051e26b1ae7fb70e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:35:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0e6b8c5c-c74c-4726-8575-75fb9253c203/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":"6e9129bb9e6948a2051e26b1ae7fb70e"} device-1 | {"level":"info","message":"OPTIONS /devices/0e6b8c5c-c74c-4726-8575-75fb9253c203/websocket 200 2ms","method":"OPTIONS","requestID":"6e9129bb9e6948a2051e26b1ae7fb70e","responseTime":2,"status":200,"url":"/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA","level":"info","message":"auth send jwt","requestID":"6e03884ecc0cb1c4fe89bb77bfd68243"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6e03884ecc0cb1c4fe89bb77bfd68243","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dda2b2cfa560274ef53fe9fa2385bbc0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 called","requestID":"6e03884ecc0cb1c4fe89bb77bfd68243"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dda2b2cfa560274ef53fe9fa2385bbc0","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} gateway-1 | {"time_local":"17/Jul/2024:11:35:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873/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":"dda2b2cfa560274ef53fe9fa2385bbc0"} device-1 | {"level":"info","message":"OPTIONS /devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873/websocket 200 2ms","method":"OPTIONS","requestID":"dda2b2cfa560274ef53fe9fa2385bbc0","responseTime":2,"status":200,"url":"/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873/websocket"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.503245,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"6e03884ecc0cb1c4fe89bb77bfd68243","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216113,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"6e03884ecc0cb1c4fe89bb77bfd68243","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA","level":"info","message":"auth send jwt","requestID":"afecf179b1e8038c3c1d86c245fd4bda"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"afecf179b1e8038c3c1d86c245fd4bda","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"afecf179b1e8038c3c1d86c245fd4bda"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.602168,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"afecf179b1e8038c3c1d86c245fd4bda","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216113,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"afecf179b1e8038c3c1d86c245fd4bda","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6e03884ecc0cb1c4fe89bb77bfd68243"} gateway-1 | {"time_local":"17/Jul/2024:11:35:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0e6b8c5c-c74c-4726-8575-75fb9253c203/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.037","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6e03884ecc0cb1c4fe89bb77bfd68243"} device-1 | {"level":"info","message":"POST /devices/0e6b8c5c-c74c-4726-8575-75fb9253c203/websocket 200 31ms","method":"POST","requestID":"6e03884ecc0cb1c4fe89bb77bfd68243","responseTime":31,"status":200,"url":"/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"afecf179b1e8038c3c1d86c245fd4bda"} gateway-1 | {"time_local":"17/Jul/2024:11:35:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"afecf179b1e8038c3c1d86c245fd4bda"} device-1 | {"level":"info","message":"POST /devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873/websocket 200 29ms","method":"POST","requestID":"afecf179b1e8038c3c1d86c245fd4bda","responseTime":29,"status":200,"url":"/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA","level":"info","message":"auth send jwt","requestID":"f2ca8987eb188264df97db70be9b0a93"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f2ca8987eb188264df97db70be9b0a93","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f2ca8987eb188264df97db70be9b0a93"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.35024,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"f2ca8987eb188264df97db70be9b0a93","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216113,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"f2ca8987eb188264df97db70be9b0a93","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa395d04e-6a07-4cfa-9d48-c0da52c9d873","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa395d04e-6a07-4cfa-9d48-c0da52c9d873","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:11.330478486Z"}]},"request_id":"12e700b7-d8f3-4043-85bb-5b3c9170db6f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.3967152} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"f2ca8987eb188264df97db70be9b0a93","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f2ca8987eb188264df97db70be9b0a93"} gateway-1 | {"time_local":"17/Jul/2024:11:35:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873? 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":"f2ca8987eb188264df97db70be9b0a93"} device-1 | {"level":"info","message":"GET /devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873? 200 21ms","method":"GET","requestID":"f2ca8987eb188264df97db70be9b0a93","responseTime":21,"status":200,"url":"/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA","level":"info","message":"auth send jwt","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"12eab812ff82be78b4e04e564cd6b5dc","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.361546,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"12eab812ff82be78b4e04e564cd6b5dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216113,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"12eab812ff82be78b4e04e564cd6b5dc","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63"},"level":"info","message":"Attempting to run experiment","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63"},"level":"info","message":"Attempting to book experiment","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63"},"level":"info","message":"Successfully booked experiment","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a1c13ed0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a1c18cf0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.293272,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f809d79b-83ac-4385-a6c8-b5b387ef34ac","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a1c13ed0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/f809d79b-83ac-4385-a6c8-b5b387ef34ac","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216113,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a1c13ed0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.289408,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a1c18cf0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216113,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a1c18cf0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff809d79b-83ac-4385-a6c8-b5b387ef34ac","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff809d79b-83ac-4385-a6c8-b5b387ef34ac","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:11.278189792Z"}]},"request_id":"230bfa38-ff3f-4040-b267-458fbaf7a9f2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.4826903} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a1c13ed0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa395d04e-6a07-4cfa-9d48-c0da52c9d873","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa395d04e-6a07-4cfa-9d48-c0da52c9d873","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:11.330478486Z"}]},"request_id":"152ccfb9-4e15-4cc6-9932-ddb9836edd94","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.483922} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a1c18cf0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a1c18cf0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873? 200 22ms","method":"GET","requestID":"a1c18cf0-4430-11ef-b47c-55a12d3fdb12","responseTime":22,"status":200,"url":"/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873?"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.71791,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a1c13ed0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216113,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a1c13ed0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a1c13ed0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/f809d79b-83ac-4385-a6c8-b5b387ef34ac? 200 28ms","method":"GET","requestID":"a1c13ed0-4430-11ef-b47c-55a12d3fdb12","responseTime":28,"status":200,"url":"/devices/f809d79b-83ac-4385-a6c8-b5b387ef34ac?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63"},"level":"info","message":"Setting up experiment","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63"},"level":"info","message":"Successfully locked booking for experiment","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63"},"level":"info","message":"Attempting to update booking for experiment","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63"},"level":"info","message":"Successfully updated booking for experiment","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63"},"level":"info","message":"Successfully set up experiment","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a1ce1010-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a1ce5e30-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a1ced360-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63"},"level":"info","message":"Successfully running experiment","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.273541,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a1ce1010-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216113,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a1ce1010-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.343061,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a1ce5e30-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216113,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"a1ce5e30-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e6b8c5c-c74c-4726-8575-75fb9253c203","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"36de9a38-f17f-48cf-a145-36798310781c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.56638} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.702562,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e6b8c5c-c74c-4726-8575-75fb9253c203","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e6b8c5c-c74c-4726-8575-75fb9253c203","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:11.219245723Z"}]},"request_id":"834fa109-6727-43c0-b13c-aeb38af32b5e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.569357} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a1ced360-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"a1ced360-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"a1ce1010-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa395d04e-6a07-4cfa-9d48-c0da52c9d873","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa395d04e-6a07-4cfa-9d48-c0da52c9d873","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:11.330478486Z"}]},"request_id":"5f36d904-5a38-4ee3-a60a-9b97d9f2e796","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.5711756} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"a1ce5e30-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a1ce1010-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/0e6b8c5c-c74c-4726-8575-75fb9253c203? 200 29ms","method":"GET","requestID":"a1ce1010-4430-11ef-b47c-55a12d3fdb12","responseTime":29,"status":200,"url":"/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a1ced360-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/0e6b8c5c-c74c-4726-8575-75fb9253c203/signaling 200 26ms","method":"POST","requestID":"a1ced360-4430-11ef-b47c-55a12d3fdb12","responseTime":26,"status":200,"url":"/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a1ce5e30-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873? 200 30ms","method":"GET","requestID":"a1ce5e30-4430-11ef-b47c-55a12d3fdb12","responseTime":30,"status":200,"url":"/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a1d36740-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F860f8ab9-b02a-4eff-bb69-8529e6281a63#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F860f8ab9-b02a-4eff-bb69-8529e6281a63","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"9dc4a5b0-ea94-4d87-b5c3-1dbc6feadc02","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.5881445} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ddd6108-0c34-457a-8977-629ff0b09583","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.5885985} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a1d3dc70-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"12eab812ff82be78b4e04e564cd6b5dc","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa395d04e-6a07-4cfa-9d48-c0da52c9d873","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a939176-5f86-4d05-87ef-4e49743fb4d0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.5983987} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.925756,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a1d36740-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"a1d36740-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e6b8c5c-c74c-4726-8575-75fb9253c203","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7961fbd1-e5fc-4217-b591-e301a427db0a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.5994098} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.729042,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a1d3dc70-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"a1d3dc70-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} gateway-1 | {"time_local":"17/Jul/2024:11:35:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.198","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} experiment-1 | {"level":"info","message":"POST /experiments? 201 189ms","method":"POST","requestID":"12eab812ff82be78b4e04e564cd6b5dc","responseTime":189,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a1d36740-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873/signaling 200 18ms","method":"POST","requestID":"a1d36740-4430-11ef-b47c-55a12d3fdb12","responseTime":18,"status":200,"url":"/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a1d3dc70-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/0e6b8c5c-c74c-4726-8575-75fb9253c203/signaling 200 16ms","method":"POST","requestID":"a1d3dc70-4430-11ef-b47c-55a12d3fdb12","responseTime":16,"status":200,"url":"/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA","level":"info","message":"auth send jwt","requestID":"b0f793ff904c2cb9111770d6132ef3cd"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b0f793ff904c2cb9111770d6132ef3cd","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a1d6c2a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b0f793ff904c2cb9111770d6132ef3cd"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.908894,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b0f793ff904c2cb9111770d6132ef3cd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216113,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b0f793ff904c2cb9111770d6132ef3cd","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa395d04e-6a07-4cfa-9d48-c0da52c9d873","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fa24c3cb-8a4d-4983-a752-f0ad221709a0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.615644} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.050853,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a1d6c2a0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a1d6c2a0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e6b8c5c-c74c-4726-8575-75fb9253c203","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e6b8c5c-c74c-4726-8575-75fb9253c203","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:11.219245723Z"}]},"request_id":"430bfbc6-2f41-43e2-acd5-0b96c30618ab","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.6214182} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a1d6c2a0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b0f793ff904c2cb9111770d6132ef3cd","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873/signaling 200 13ms","method":"POST","requestID":"a1d6c2a0-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63"},"level":"info","message":"Building connection plan","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"842d5134-c71a-4c94-a706-85618832c78f"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"fe9d5df1-f65c-4ec6-8f8a-763c36ea7c74"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6191c788-b0bc-4418-9d96-c38731a8a77a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b0f793ff904c2cb9111770d6132ef3cd"} gateway-1 | {"time_local":"17/Jul/2024:11:35:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0e6b8c5c-c74c-4726-8575-75fb9253c203? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b0f793ff904c2cb9111770d6132ef3cd"} device-1 | {"level":"info","message":"GET /devices/0e6b8c5c-c74c-4726-8575-75fb9253c203? 200 14ms","method":"GET","requestID":"b0f793ff904c2cb9111770d6132ef3cd","responseTime":14,"status":200,"url":"/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"a1d981c0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA","level":"info","message":"auth send jwt","requestID":"053f4dae716a986717525c4d657a5213"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.143551,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"053f4dae716a986717525c4d657a5213","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a1d981c0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216113,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"053f4dae716a986717525c4d657a5213"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a1d981c0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.324291,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"053f4dae716a986717525c4d657a5213","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216113,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"053f4dae716a986717525c4d657a5213","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa395d04e-6a07-4cfa-9d48-c0da52c9d873","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa395d04e-6a07-4cfa-9d48-c0da52c9d873","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:11.330478486Z"}]},"request_id":"989a33c9-d9f8-4762-8399-90cb4c807ce0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.6443014} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"053f4dae716a986717525c4d657a5213","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"fcbd15e7-6ad6-4411-8d68-5ed96ee8bfc6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.6487603} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"053f4dae716a986717525c4d657a5213"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e037e249-5564-49aa-b4e5-aaef78052d35","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.6489894} gateway-1 | {"time_local":"17/Jul/2024:11:35:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873? 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":"053f4dae716a986717525c4d657a5213"} device-1 | {"level":"info","message":"GET /devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873? 200 17ms","method":"GET","requestID":"053f4dae716a986717525c4d657a5213","responseTime":17,"status":200,"url":"/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"a1d981c0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"a1d981c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"a1d981c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7'","requestID":"a1d981c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7'","requestID":"a1d981c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"a1d981c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 37ms","method":"POST","requestID":"a1d981c0-4430-11ef-b47c-55a12d3fdb12","responseTime":37,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"a1d981c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7","device":"a395d04e-6a07-4cfa-9d48-c0da52c9d873","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7","device":"0e6b8c5c-c74c-4726-8575-75fb9253c203","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"12eab812ff82be78b4e04e564cd6b5dc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a1e51a80-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e6b8c5c-c74c-4726-8575-75fb9253c203","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"22e1c280-0211-45ab-a078-363cc4b6262d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.7095203} device-1 | {"device":"a395d04e-6a07-4cfa-9d48-c0da52c9d873","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.470805,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} device-1 | {"content":{"canTrickle":true},"device":"a395d04e-6a07-4cfa-9d48-c0da52c9d873","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a1e51a80-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a1e51a80-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a1e51a80-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/0e6b8c5c-c74c-4726-8575-75fb9253c203/signaling 200 11ms","method":"POST","requestID":"a1e51a80-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a1e73d60-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} device-1 | {"device":"0e6b8c5c-c74c-4726-8575-75fb9253c203","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"0e6b8c5c-c74c-4726-8575-75fb9253c203","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa395d04e-6a07-4cfa-9d48-c0da52c9d873","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f69ca92-b42d-4b94-bbd0-7e0bd7fbb795","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.7235065} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.628528,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a1e73d60-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a1e73d60-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 8364952692855104196 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:NGxF\r\na=ice-pwd:mC4zci26vfWrzHiRExP3Qahk\r\na=ice-options:trickle\r\na=fingerprint:sha-256 8D:0F:A0:36:9A:8E:80:1D:0D:30:B3:B3:31:A8:78:74:E2:18:3F:0F:D3:8D:E7:AD:EA:E2:B1:B9:89:8D:42:D4\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"0e6b8c5c-c74c-4726-8575-75fb9253c203","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a1e73d60-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873/signaling 200 13ms","method":"POST","requestID":"a1e73d60-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 276522965599631559 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:j3Tu\r\na=ice-pwd:dbZ/m6N64yZWytEhHZT/CMsE\r\na=ice-options:trickle\r\na=fingerprint:sha-256 E1:AF:DF:3A:39:F4:0D:9D:FE:CB:98:7D:78:69:69:E4:07:74:39:55:96:E0:A9:03:31:76:58:9A:35:E5:8A:B1\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"a395d04e-6a07-4cfa-9d48-c0da52c9d873","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1796462240 1 udp 2113937151 6aaafe31-29bc-4461-8652-bdcb3253d27e.local 43215 typ host generation 0 ufrag j3Tu network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a395d04e-6a07-4cfa-9d48-c0da52c9d873","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:4013866207 1 udp 1677729535 141.24.211.56 43215 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag j3Tu network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a395d04e-6a07-4cfa-9d48-c0da52c9d873","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873'"} device-1 | {"content":{"candidate":"candidate:1675375346 1 udp 2113937151 35009ef1-98d7-4421-bc12-f53a70dd66e1.local 49729 typ host generation 0 ufrag NGxF network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0e6b8c5c-c74c-4726-8575-75fb9253c203","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1099086975 1 udp 1677729535 141.24.211.56 49729 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag NGxF network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0e6b8c5c-c74c-4726-8575-75fb9253c203","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203'"} device-1 | {"device":"0e6b8c5c-c74c-4726-8575-75fb9253c203","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7f3abbfb-5d16-4dd7-91a2-1c47f561bec7","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0874d206d966d87a69f45ef592e129c5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"0874d206d966d87a69f45ef592e129c5","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/a395d04e-6a07-4cfa-9d48-c0da52c9d873"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7"}}},"level":"info","message":"received a callback","requestID":"0874d206d966d87a69f45ef592e129c5"} device-1 | {"device":"a395d04e-6a07-4cfa-9d48-c0da52c9d873","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"a395d04e-6a07-4cfa-9d48-c0da52c9d873","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"0e6b8c5c-c74c-4726-8575-75fb9253c203","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"0874d206d966d87a69f45ef592e129c5","responseTime":8,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"a395d04e-6a07-4cfa-9d48-c0da52c9d873","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} gateway-1 | {"time_local":"17/Jul/2024:11:35: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.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"0874d206d966d87a69f45ef592e129c5"} device-1 | {"device":"0e6b8c5c-c74c-4726-8575-75fb9253c203","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"7f3abbfb-5d16-4dd7-91a2-1c47f561bec7","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a395d04e-6a07-4cfa-9d48-c0da52c9d873","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"7f3abbfb-5d16-4dd7-91a2-1c47f561bec7","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/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7f3abbfb-5d16-4dd7-91a2-1c47f561bec7","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8b85b97dfe5addfeacb4c6b2fee679bf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"8b85b97dfe5addfeacb4c6b2fee679bf","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7"}}},"level":"info","message":"received a callback","requestID":"8b85b97dfe5addfeacb4c6b2fee679bf"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"a1f32440-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7f3abbfb-5d16-4dd7-91a2-1c47f561bec7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ecccc60d-09bd-4598-a996-87e8f06ded37","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.800597} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.084697,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a1f32440-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7","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","method":"POST","requestID":"a1f32440-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"a1f32440-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7 200 8ms","method":"GET","requestID":"a1f32440-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"8b85b97dfe5addfeacb4c6b2fee679bf","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35: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.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"8b85b97dfe5addfeacb4c6b2fee679bf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a1f6a6b0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa395d04e-6a07-4cfa-9d48-c0da52c9d873","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"477f3d5f-7b95-487e-849d-52d0bf10fbcb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.823706} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.559622,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a1f6a6b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a1f6a6b0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a1f6a6b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873/signaling 200 8ms","method":"POST","requestID":"a1f6a6b0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a1f85460-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e6b8c5c-c74c-4726-8575-75fb9253c203","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"51276a96-3425-4e1d-8b16-243dd6e43ab5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.834283} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.921495,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a1f85460-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"a1f85460-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a1f85460-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/0e6b8c5c-c74c-4726-8575-75fb9253c203/signaling 200 8ms","method":"POST","requestID":"a1f85460-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA","level":"info","message":"auth send jwt","requestID":"7ee7b354ad55d96ecd3e3391d188e8d8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7ee7b354ad55d96ecd3e3391d188e8d8","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63","requestID":"7ee7b354ad55d96ecd3e3391d188e8d8"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.198596,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"7ee7b354ad55d96ecd3e3391d188e8d8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216113,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7ee7b354ad55d96ecd3e3391d188e8d8","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63","requestID":"7ee7b354ad55d96ecd3e3391d188e8d8"} gateway-1 | {"time_local":"17/Jul/2024:11:35:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ee7b354ad55d96ecd3e3391d188e8d8"} experiment-1 | {"level":"info","message":"GET /experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63 200 19ms","method":"GET","requestID":"7ee7b354ad55d96ecd3e3391d188e8d8","responseTime":19,"status":200,"url":"/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA","level":"info","message":"auth send jwt","requestID":"7208e3a033facc565bd225cf889e9592"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7208e3a033facc565bd225cf889e9592","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63","requestID":"7208e3a033facc565bd225cf889e9592"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.292463,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"7208e3a033facc565bd225cf889e9592","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216113,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7208e3a033facc565bd225cf889e9592","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63"},"level":"info","message":"Attempting to finish experiment","requestID":"7208e3a033facc565bd225cf889e9592"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"a204d780-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.156344,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a204d780-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216113,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExM30.g8YlO2juwryLcuyD0ok-gXjBhsvKkK2yLJfi45MMhtA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a204d780-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7","device":"a395d04e-6a07-4cfa-9d48-c0da52c9d873","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7","device":"0e6b8c5c-c74c-4726-8575-75fb9253c203","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7f3abbfb-5d16-4dd7-91a2-1c47f561bec7","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ea26f110f7433dc12e470174a6910bb8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7f3abbfb-5d16-4dd7-91a2-1c47f561bec7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7f3abbfb-5d16-4dd7-91a2-1c47f561bec7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"298084a4-3cdd-499d-a433-2fd7324b10a2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.939653} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70ab6070-fc5e-4262-bc06-8b3acf0b006f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.9400182} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ea26f110f7433dc12e470174a6910bb8","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"512a9f769ceba34aac0c0806341b88d1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"512a9f769ceba34aac0c0806341b88d1","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/a395d04e-6a07-4cfa-9d48-c0da52c9d873"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7"}}},"level":"info","message":"received a callback","requestID":"ea26f110f7433dc12e470174a6910bb8"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"a204d780-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/relations/update"} 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/a395d04e-6a07-4cfa-9d48-c0da52c9d873"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7"}}},"level":"info","message":"received a callback","requestID":"512a9f769ceba34aac0c0806341b88d1"} device-1 | {"data":{"peerconnection":"7f3abbfb-5d16-4dd7-91a2-1c47f561bec7","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"a204d780-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7 204 50ms","method":"DELETE","requestID":"a204d780-4430-11ef-b47c-55a12d3fdb12","responseTime":50,"status":204,"url":"/peerconnections/7f3abbfb-5d16-4dd7-91a2-1c47f561bec7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63"},"level":"info","message":"Successfully finished experiment","requestID":"7208e3a033facc565bd225cf889e9592"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a20ffb10-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa395d04e-6a07-4cfa-9d48-c0da52c9d873","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"21b71b18-0dd7-4b18-8644-f364cbaa5728","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.9915268} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.81877,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a20ffb10-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a20ffb10-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a20ffb10-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873/signaling 200 12ms","method":"POST","requestID":"a20ffb10-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F860f8ab9-b02a-4eff-bb69-8529e6281a63': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F860f8ab9-b02a-4eff-bb69-8529e6281a63","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"f2ddee04-9c53-407f-916a-38ce30f38382","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216113.9995525} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc0f5604-21b3-4fed-8454-7656fbd1b2be","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216114.000082} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a2126c10-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"7208e3a033facc565bd225cf889e9592","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:14Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0e6b8c5c-c74c-4726-8575-75fb9253c203","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b2f7a736-80ca-45e9-9039-7cb5b036c2d4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216114.0062582} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.080045,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a2126c10-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a2126c10-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a2126c10-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/0e6b8c5c-c74c-4726-8575-75fb9253c203/signaling 200 11ms","method":"POST","requestID":"a2126c10-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63","requestID":"7208e3a033facc565bd225cf889e9592"} gateway-1 | {"time_local":"17/Jul/2024:11:35:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63 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":"7208e3a033facc565bd225cf889e9592"} experiment-1 | {"level":"info","message":"DELETE /experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63 204 182ms","method":"DELETE","requestID":"7208e3a033facc565bd225cf889e9592","responseTime":182,"status":204,"url":"/experiments/860f8ab9-b02a-4eff-bb69-8529e6281a63"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"ea26f110f7433dc12e470174a6910bb8","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"ea26f110f7433dc12e470174a6910bb8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"512a9f769ceba34aac0c0806341b88d1","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"512a9f769ceba34aac0c0806341b88d1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNH0.ZH88cv0tFVYWy-99P01qqMEGUpU5xScPa33O2WRoluk","level":"info","message":"auth send jwt","requestID":"a66a40f68f38d7a6c337f5757e53d237"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a66a40f68f38d7a6c337f5757e53d237","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a66a40f68f38d7a6c337f5757e53d237"} gateway-1 | {"time_local":"17/Jul/2024:11:35:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"0.738","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b5b92e47971fb08ad6f589c61e79e496"} gateway-1 | {"time_local":"17/Jul/2024:11:35:14 +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.726","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"11d874213889bfef46b1ed1ef3045af4"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0e6b8c5c-c74c-4726-8575-75fb9253c203' closed"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:14Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.785466,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a66a40f68f38d7a6c337f5757e53d237","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216114,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNH0.ZH88cv0tFVYWy-99P01qqMEGUpU5xScPa33O2WRoluk"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"a66a40f68f38d7a6c337f5757e53d237","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a395d04e-6a07-4cfa-9d48-c0da52c9d873' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c14f12a2-1218-471e-9f24-c9d1edec930d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216114.1103392} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a66a40f68f38d7a6c337f5757e53d237","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5b9299b8-ee13-4546-89e5-56fc2267026e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216114.1152415} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a66a40f68f38d7a6c337f5757e53d237","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"fa89631d-e653-4cbd-a3db-cdde747fe81a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216114.1259513} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7262b0d8-3c85-463d-9820-5630eec7950b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216114.126151} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"a66a40f68f38d7a6c337f5757e53d237","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:14.125936263Z"}]},"request_id":"a596a1e5-0949-427d-8bcc-f17dc657ee88","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216114.1304536} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a66a40f68f38d7a6c337f5757e53d237","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a66a40f68f38d7a6c337f5757e53d237"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"a66a40f68f38d7a6c337f5757e53d237","responseTime":48,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"17/Jul/2024:11:35:14 +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":"a66a40f68f38d7a6c337f5757e53d237"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNH0.ZH88cv0tFVYWy-99P01qqMEGUpU5xScPa33O2WRoluk","level":"info","message":"auth send jwt","requestID":"8ae4f1f2590c34dd68ea7e2eb3a9f587"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8ae4f1f2590c34dd68ea7e2eb3a9f587","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8ae4f1f2590c34dd68ea7e2eb3a9f587"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:14Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.826047,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"8ae4f1f2590c34dd68ea7e2eb3a9f587","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216114,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNH0.ZH88cv0tFVYWy-99P01qqMEGUpU5xScPa33O2WRoluk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8ae4f1f2590c34dd68ea7e2eb3a9f587","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54978f3-a177-419d-b27d-0ae755a8ae55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"29786c97-8e4c-485d-b419-02474fb5ad60","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216114.1543088} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8ae4f1f2590c34dd68ea7e2eb3a9f587","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8cfe0604-c2bc-4146-be4e-2c449c78d663","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216114.1587615} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"8ae4f1f2590c34dd68ea7e2eb3a9f587","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54978f3-a177-419d-b27d-0ae755a8ae55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"21d1f248-20c7-4179-bec5-fd5b2f51c8dd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216114.1764717} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"93bb8116-feb3-4e3e-b32b-9ce53a4f3c98","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216114.1767056} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"8ae4f1f2590c34dd68ea7e2eb3a9f587","responseTime":24,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54978f3-a177-419d-b27d-0ae755a8ae55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54978f3-a177-419d-b27d-0ae755a8ae55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:14.176452427Z"}]},"request_id":"261c26c4-e2a1-4386-b463-3fe918c2f7d5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216114.186125} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8ae4f1f2590c34dd68ea7e2eb3a9f587","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8ae4f1f2590c34dd68ea7e2eb3a9f587"} gateway-1 | {"time_local":"17/Jul/2024:11:35:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8ae4f1f2590c34dd68ea7e2eb3a9f587"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"8ae4f1f2590c34dd68ea7e2eb3a9f587","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNH0.ZH88cv0tFVYWy-99P01qqMEGUpU5xScPa33O2WRoluk","level":"info","message":"auth send jwt","requestID":"4d23911ca91d68bf5be18a5716f2766e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4d23911ca91d68bf5be18a5716f2766e","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"4d23911ca91d68bf5be18a5716f2766e"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:14Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.81455,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"4d23911ca91d68bf5be18a5716f2766e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216114,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNH0.ZH88cv0tFVYWy-99P01qqMEGUpU5xScPa33O2WRoluk"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4d23911ca91d68bf5be18a5716f2766e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:14.125936263Z"}]},"request_id":"3e0606f2-c0fc-48d6-98ee-90d135cf88e5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216114.687607} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4d23911ca91d68bf5be18a5716f2766e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30bee422-034a-4881-b6b0-490b3b3d6a36","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216114.694346} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"4d23911ca91d68bf5be18a5716f2766e","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:14.125936263Z"}]},"request_id":"b4d14231-5c14-4985-bdb2-c2e4bdea72c0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216114.7058372} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4d23911ca91d68bf5be18a5716f2766e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"4d23911ca91d68bf5be18a5716f2766e"} gateway-1 | {"time_local":"17/Jul/2024:11:35:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/cfe87675-b588-4a89-b729-530f9998e122 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":"4d23911ca91d68bf5be18a5716f2766e"} device-1 | {"level":"info","message":"PATCH /devices/cfe87675-b588-4a89-b729-530f9998e122 200 37ms","method":"PATCH","requestID":"4d23911ca91d68bf5be18a5716f2766e","responseTime":37,"status":200,"url":"/devices/cfe87675-b588-4a89-b729-530f9998e122"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNH0.ZH88cv0tFVYWy-99P01qqMEGUpU5xScPa33O2WRoluk","level":"info","message":"auth send jwt","requestID":"502ae3d2b56bb3e72952ca93c0602337"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"502ae3d2b56bb3e72952ca93c0602337","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"502ae3d2b56bb3e72952ca93c0602337"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:14Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.033652,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"502ae3d2b56bb3e72952ca93c0602337","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216114,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNH0.ZH88cv0tFVYWy-99P01qqMEGUpU5xScPa33O2WRoluk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"502ae3d2b56bb3e72952ca93c0602337","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"502ae3d2b56bb3e72952ca93c0602337"} gateway-1 | {"time_local":"17/Jul/2024:11:35:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/cfe87675-b588-4a89-b729-530f9998e122/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":"502ae3d2b56bb3e72952ca93c0602337"} device-1 | {"level":"info","message":"POST /devices/cfe87675-b588-4a89-b729-530f9998e122/websocket 200 19ms","method":"POST","requestID":"502ae3d2b56bb3e72952ca93c0602337","responseTime":19,"status":200,"url":"/devices/cfe87675-b588-4a89-b729-530f9998e122/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"faafc8249df551e90dd8441e04074638","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"faafc8249df551e90dd8441e04074638","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:35:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a54978f3-a177-419d-b27d-0ae755a8ae55/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":"faafc8249df551e90dd8441e04074638"} device-1 | {"level":"info","message":"OPTIONS /devices/a54978f3-a177-419d-b27d-0ae755a8ae55/websocket 200 2ms","method":"OPTIONS","requestID":"faafc8249df551e90dd8441e04074638","responseTime":2,"status":200,"url":"/devices/a54978f3-a177-419d-b27d-0ae755a8ae55/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNn0.2mC1AVbHkIACiOO5oyoexXzfHj1iNRTKfbqbkEsan5M","level":"info","message":"auth send jwt","requestID":"866ce6ff39cb8d15e15f75fd43cd7d3b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"866ce6ff39cb8d15e15f75fd43cd7d3b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"866ce6ff39cb8d15e15f75fd43cd7d3b"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.230373,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"866ce6ff39cb8d15e15f75fd43cd7d3b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216116,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNn0.2mC1AVbHkIACiOO5oyoexXzfHj1iNRTKfbqbkEsan5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"866ce6ff39cb8d15e15f75fd43cd7d3b","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"866ce6ff39cb8d15e15f75fd43cd7d3b"} device-1 | {"level":"info","message":"POST /devices/a54978f3-a177-419d-b27d-0ae755a8ae55/websocket 200 22ms","method":"POST","requestID":"866ce6ff39cb8d15e15f75fd43cd7d3b","responseTime":22,"status":200,"url":"/devices/a54978f3-a177-419d-b27d-0ae755a8ae55/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:35:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a54978f3-a177-419d-b27d-0ae755a8ae55/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":"866ce6ff39cb8d15e15f75fd43cd7d3b"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNn0.2mC1AVbHkIACiOO5oyoexXzfHj1iNRTKfbqbkEsan5M","level":"info","message":"auth send jwt","requestID":"3fe3f3829048dfa28389f1a15358ac36"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3fe3f3829048dfa28389f1a15358ac36","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3fe3f3829048dfa28389f1a15358ac36"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.172545,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"3fe3f3829048dfa28389f1a15358ac36","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216116,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNn0.2mC1AVbHkIACiOO5oyoexXzfHj1iNRTKfbqbkEsan5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3fe3f3829048dfa28389f1a15358ac36","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:14.125936263Z"}]},"request_id":"3cb71859-0d9f-4997-9614-a0ca981c9f7e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216116.3339236} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3fe3f3829048dfa28389f1a15358ac36","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3fe3f3829048dfa28389f1a15358ac36"} gateway-1 | {"time_local":"17/Jul/2024:11:35:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cfe87675-b588-4a89-b729-530f9998e122? 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":"3fe3f3829048dfa28389f1a15358ac36"} device-1 | {"level":"info","message":"GET /devices/cfe87675-b588-4a89-b729-530f9998e122? 200 19ms","method":"GET","requestID":"3fe3f3829048dfa28389f1a15358ac36","responseTime":19,"status":200,"url":"/devices/cfe87675-b588-4a89-b729-530f9998e122?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNn0.2mC1AVbHkIACiOO5oyoexXzfHj1iNRTKfbqbkEsan5M","level":"info","message":"auth send jwt","requestID":"2a61cbb5a226677a8a72f1abe0c52a6b"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"2a61cbb5a226677a8a72f1abe0c52a6b","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2a61cbb5a226677a8a72f1abe0c52a6b"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.223642,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"2a61cbb5a226677a8a72f1abe0c52a6b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216116,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNn0.2mC1AVbHkIACiOO5oyoexXzfHj1iNRTKfbqbkEsan5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2a61cbb5a226677a8a72f1abe0c52a6b","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54978f3-a177-419d-b27d-0ae755a8ae55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54978f3-a177-419d-b27d-0ae755a8ae55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:14.176452427Z"}]},"request_id":"fad6ddf1-1d70-47ae-bb41-e496597e32e8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216116.3629088} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2a61cbb5a226677a8a72f1abe0c52a6b","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2a61cbb5a226677a8a72f1abe0c52a6b"} gateway-1 | {"time_local":"17/Jul/2024:11:35:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a54978f3-a177-419d-b27d-0ae755a8ae55? 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":"2a61cbb5a226677a8a72f1abe0c52a6b"} device-1 | {"level":"info","message":"GET /devices/a54978f3-a177-419d-b27d-0ae755a8ae55? 200 20ms","method":"GET","requestID":"2a61cbb5a226677a8a72f1abe0c52a6b","responseTime":20,"status":200,"url":"/devices/a54978f3-a177-419d-b27d-0ae755a8ae55?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNn0.2mC1AVbHkIACiOO5oyoexXzfHj1iNRTKfbqbkEsan5M","level":"info","message":"auth send jwt","requestID":"11a90caede473d5ab3d299e41eb91f3d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"11a90caede473d5ab3d299e41eb91f3d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"11a90caede473d5ab3d299e41eb91f3d"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.816544,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"11a90caede473d5ab3d299e41eb91f3d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216116,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNn0.2mC1AVbHkIACiOO5oyoexXzfHj1iNRTKfbqbkEsan5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"11a90caede473d5ab3d299e41eb91f3d","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed"},"level":"info","message":"Attempting to run experiment","requestID":"11a90caede473d5ab3d299e41eb91f3d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed"},"level":"info","message":"Attempting to book experiment","requestID":"11a90caede473d5ab3d299e41eb91f3d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed"},"level":"info","message":"Successfully booked experiment","requestID":"11a90caede473d5ab3d299e41eb91f3d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a3ada580-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a3adf3a0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.12009,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a3ada580-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216116,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNn0.2mC1AVbHkIACiOO5oyoexXzfHj1iNRTKfbqbkEsan5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a3ada580-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.318084,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a3adf3a0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216116,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNn0.2mC1AVbHkIACiOO5oyoexXzfHj1iNRTKfbqbkEsan5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a3adf3a0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:14.125936263Z"}]},"request_id":"07a5df3f-6483-49cc-b655-ffbe126be3c0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216116.7104573} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"a3ada580-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54978f3-a177-419d-b27d-0ae755a8ae55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54978f3-a177-419d-b27d-0ae755a8ae55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:14.176452427Z"}]},"request_id":"a0245a21-9073-4bea-bbf9-f0bdcc51484f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216116.712188} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a3adf3a0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a3ada580-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/cfe87675-b588-4a89-b729-530f9998e122? 200 24ms","method":"GET","requestID":"a3ada580-4430-11ef-b47c-55a12d3fdb12","responseTime":24,"status":200,"url":"/devices/cfe87675-b588-4a89-b729-530f9998e122?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a3adf3a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/a54978f3-a177-419d-b27d-0ae755a8ae55? 200 23ms","method":"GET","requestID":"a3adf3a0-4430-11ef-b47c-55a12d3fdb12","responseTime":23,"status":200,"url":"/devices/a54978f3-a177-419d-b27d-0ae755a8ae55?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed"},"level":"info","message":"Setting up experiment","requestID":"11a90caede473d5ab3d299e41eb91f3d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"11a90caede473d5ab3d299e41eb91f3d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed"},"level":"info","message":"Successfully locked booking for experiment","requestID":"11a90caede473d5ab3d299e41eb91f3d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"11a90caede473d5ab3d299e41eb91f3d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"11a90caede473d5ab3d299e41eb91f3d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed"},"level":"info","message":"Attempting to update booking for experiment","requestID":"11a90caede473d5ab3d299e41eb91f3d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed"},"level":"info","message":"Successfully updated booking for experiment","requestID":"11a90caede473d5ab3d299e41eb91f3d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed"},"level":"info","message":"Successfully set up experiment","requestID":"11a90caede473d5ab3d299e41eb91f3d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a3bb1300-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a3bb6120-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a3bbaf40-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.892159,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:16Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed"},"level":"info","message":"Successfully running experiment","requestID":"11a90caede473d5ab3d299e41eb91f3d"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a3bb1300-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216116,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNn0.2mC1AVbHkIACiOO5oyoexXzfHj1iNRTKfbqbkEsan5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"a3bb1300-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.900013,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a3bb6120-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216116,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNn0.2mC1AVbHkIACiOO5oyoexXzfHj1iNRTKfbqbkEsan5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"a3bb6120-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:14.125936263Z"}]},"request_id":"43464288-9588-43ef-b572-e224b138643e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216116.8029084} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54978f3-a177-419d-b27d-0ae755a8ae55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54978f3-a177-419d-b27d-0ae755a8ae55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:14.176452427Z"}]},"request_id":"8661b7d3-60d0-4260-b018-d25f9f2f120f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216116.8046372} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"a3bb1300-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a3bb6120-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:60322","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"client_addr":"127.0.0.1:60322","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.679329,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"55d1a3b1-147d-4ef7-a28d-ee7a7ddb7ae4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216116.8083708} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a3bb1300-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a3bbaf40-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 22ms","method":"POST","requestID":"a3bbaf40-4430-11ef-b47c-55a12d3fdb12","responseTime":22,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/cfe87675-b588-4a89-b729-530f9998e122? 200 30ms","method":"GET","requestID":"a3bb1300-4430-11ef-b47c-55a12d3fdb12","responseTime":30,"status":200,"url":"/devices/cfe87675-b588-4a89-b729-530f9998e122?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a3bb6120-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1bf972e6-bdb9-4235-bada-c2d3087afeed#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1bf972e6-bdb9-4235-bada-c2d3087afeed","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"6bfdd71b-a2f9-45eb-97b9-ff8288b513f9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216116.8119748} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"43cb94b8-3184-4023-80a0-ff48c7c9205c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216116.812585} device-1 | {"level":"info","message":"GET /devices/a54978f3-a177-419d-b27d-0ae755a8ae55? 200 28ms","method":"GET","requestID":"a3bb6120-4430-11ef-b47c-55a12d3fdb12","responseTime":28,"status":200,"url":"/devices/a54978f3-a177-419d-b27d-0ae755a8ae55?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"11a90caede473d5ab3d299e41eb91f3d","responseTime":20,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a3bbaf40-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/cfe87675-b588-4a89-b729-530f9998e122/signaling 200 30ms","method":"POST","requestID":"a3bbaf40-4430-11ef-b47c-55a12d3fdb12","responseTime":30,"status":200,"url":"/devices/cfe87675-b588-4a89-b729-530f9998e122/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a3c06a30-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5b5b61bc-9425-4680-a350-34e690f53f36","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216116.825308} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a3c15490-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.222766,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a3c06a30-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"a3c06a30-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"11a90caede473d5ab3d299e41eb91f3d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a3c06a30-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"level":"info","message":"POST /experiments? 201 452ms","method":"POST","requestID":"11a90caede473d5ab3d299e41eb91f3d","responseTime":452,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"17/Jul/2024:11:35:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.458","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"11a90caede473d5ab3d299e41eb91f3d"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:16Z"} device-1 | {"level":"info","message":"POST /devices/cfe87675-b588-4a89-b729-530f9998e122/signaling 200 14ms","method":"POST","requestID":"a3c06a30-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/cfe87675-b588-4a89-b729-530f9998e122/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54978f3-a177-419d-b27d-0ae755a8ae55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7fffaf5a-73e1-4082-83c3-831db689f1d6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216116.8343012} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.082262,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a3c15490-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"a3c15490-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNn0.2mC1AVbHkIACiOO5oyoexXzfHj1iNRTKfbqbkEsan5M","level":"info","message":"auth send jwt","requestID":"9c22c4616ff7277078ea10528e26c74b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a3c30240-4430-11ef-b47c-55a12d3fdb12"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9c22c4616ff7277078ea10528e26c74b","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:16Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9c22c4616ff7277078ea10528e26c74b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a3c15490-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54978f3-a177-419d-b27d-0ae755a8ae55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1d1b3c14-2399-4884-a7cd-ef0aee91d6a4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216116.8424017} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.314816,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:16Z"} device-1 | {"level":"info","message":"POST /devices/a54978f3-a177-419d-b27d-0ae755a8ae55/signaling 200 19ms","method":"POST","requestID":"a3c15490-4430-11ef-b47c-55a12d3fdb12","responseTime":19,"status":200,"url":"/devices/a54978f3-a177-419d-b27d-0ae755a8ae55/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a3c30240-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"a3c30240-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36540","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.479233,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9c22c4616ff7277078ea10528e26c74b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216116,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNn0.2mC1AVbHkIACiOO5oyoexXzfHj1iNRTKfbqbkEsan5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9c22c4616ff7277078ea10528e26c74b","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a3c30240-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/a54978f3-a177-419d-b27d-0ae755a8ae55/signaling 200 15ms","method":"POST","requestID":"a3c30240-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/a54978f3-a177-419d-b27d-0ae755a8ae55/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"11a90caede473d5ab3d299e41eb91f3d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed"},"level":"info","message":"Building connection plan","requestID":"11a90caede473d5ab3d299e41eb91f3d"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"0bc07012-84b7-41b2-9679-b2aaa2685ff7"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"12192d0d-35b5-442b-b60f-e412e4724475"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"aef85c56-4dcb-4bab-8e72-a81abfecd0ef"}]},"level":"info","message":"Built pairwise service configurations","requestID":"11a90caede473d5ab3d299e41eb91f3d"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"11a90caede473d5ab3d299e41eb91f3d"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:14.125936263Z"}]},"request_id":"a6317744-5f56-4ad5-b021-acc2e45e26fe","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216116.8531573} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"9c22c4616ff7277078ea10528e26c74b","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"a3c63690-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9c22c4616ff7277078ea10528e26c74b"} gateway-1 | {"time_local":"17/Jul/2024:11:35:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cfe87675-b588-4a89-b729-530f9998e122? 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":"9c22c4616ff7277078ea10528e26c74b"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:16Z"} device-1 | {"level":"info","message":"GET /devices/cfe87675-b588-4a89-b729-530f9998e122? 200 19ms","method":"GET","requestID":"9c22c4616ff7277078ea10528e26c74b","responseTime":19,"status":200,"url":"/devices/cfe87675-b588-4a89-b729-530f9998e122?"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.962333,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a3c63690-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216116,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNn0.2mC1AVbHkIACiOO5oyoexXzfHj1iNRTKfbqbkEsan5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a3c63690-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNn0.2mC1AVbHkIACiOO5oyoexXzfHj1iNRTKfbqbkEsan5M","level":"info","message":"auth send jwt","requestID":"68057fc164ab4e9478b8f993f78e1589"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"68057fc164ab4e9478b8f993f78e1589","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"68057fc164ab4e9478b8f993f78e1589"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.973235,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"68057fc164ab4e9478b8f993f78e1589","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216116,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExNn0.2mC1AVbHkIACiOO5oyoexXzfHj1iNRTKfbqbkEsan5M"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"68057fc164ab4e9478b8f993f78e1589","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54978f3-a177-419d-b27d-0ae755a8ae55","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54978f3-a177-419d-b27d-0ae755a8ae55","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:14.176452427Z"}]},"request_id":"56b741f3-b732-407a-b328-d6db1e3e0fc6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216116.876067} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"68057fc164ab4e9478b8f993f78e1589","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"4fe6de73-e10b-4142-9b4d-14d04df22201","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216116.8781793} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"216d7a12-13be-465b-b33a-f464c8c246b7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216116.8786726} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"68057fc164ab4e9478b8f993f78e1589"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"a3c63690-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/relations/update"} gateway-1 | {"time_local":"17/Jul/2024:11:35:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a54978f3-a177-419d-b27d-0ae755a8ae55? 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":"68057fc164ab4e9478b8f993f78e1589"} device-1 | {"level":"info","message":"GET /devices/a54978f3-a177-419d-b27d-0ae755a8ae55? 200 17ms","method":"GET","requestID":"68057fc164ab4e9478b8f993f78e1589","responseTime":17,"status":200,"url":"/devices/a54978f3-a177-419d-b27d-0ae755a8ae55?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"a3c63690-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"a3c63690-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/bfb72f57-134e-4aa7-a48b-f2f40bcffd89'","requestID":"a3c63690-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/bfb72f57-134e-4aa7-a48b-f2f40bcffd89'","requestID":"a3c63690-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"a3c63690-4430-11ef-b47c-55a12d3fdb12"} 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":"a3c63690-4430-11ef-b47c-55a12d3fdb12","responseTime":38,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"a3c63690-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/bfb72f57-134e-4aa7-a48b-f2f40bcffd89","device":"a54978f3-a177-419d-b27d-0ae755a8ae55","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"11a90caede473d5ab3d299e41eb91f3d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a3d0e4f0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"536b8291-1ad9-4f56-a806-b3bfdbeac7c4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216116.9328098} device-1 | {"device":"a54978f3-a177-419d-b27d-0ae755a8ae55","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"a54978f3-a177-419d-b27d-0ae755a8ae55","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.614579,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a3d0e4f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"a3d0e4f0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a3d0e4f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/cfe87675-b588-4a89-b729-530f9998e122/signaling 200 15ms","method":"POST","requestID":"a3d0e4f0-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/cfe87675-b588-4a89-b729-530f9998e122/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a3d37d00-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54978f3-a177-419d-b27d-0ae755a8ae55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bcc978ac-3d9f-4a73-9040-cd0616e09866","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216116.949093} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.359695,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a3d37d00-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"a3d37d00-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a3d37d00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/a54978f3-a177-419d-b27d-0ae755a8ae55/signaling 200 9ms","method":"POST","requestID":"a3d37d00-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/a54978f3-a177-419d-b27d-0ae755a8ae55/signaling"} device-1 | {"device":"cfe87675-b588-4a89-b729-530f9998e122","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"bfb72f57-134e-4aa7-a48b-f2f40bcffd89","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 5089686323999355268 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:6HKw\r\na=ice-pwd:VRBabD1AV6nJZhxSHQgr0nOG\r\na=ice-options:trickle\r\na=fingerprint:sha-256 38:61:CF:90:76:42:85:F9:D3:07:BD:CC:89:68:CE:30:F5:DB:62:6F:80:FE:AD:36:13:D4:B3:81:ED:64:A2:F4\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"a54978f3-a177-419d-b27d-0ae755a8ae55","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2085911480 1 udp 2113937151 e56ce889-406b-42aa-953c-db6f20ae3505.local 52093 typ host generation 0 ufrag 6HKw network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a54978f3-a177-419d-b27d-0ae755a8ae55","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"a54978f3-a177-419d-b27d-0ae755a8ae55","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:4018133675 1 udp 1677729535 141.24.211.56 52093 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 6HKw network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a54978f3-a177-419d-b27d-0ae755a8ae55","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"cfe87675-b588-4a89-b729-530f9998e122","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"cfe87675-b588-4a89-b729-530f9998e122","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"cfe87675-b588-4a89-b729-530f9998e122","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a54978f3-a177-419d-b27d-0ae755a8ae55","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bfb72f57-134e-4aa7-a48b-f2f40bcffd89' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bfb72f57-134e-4aa7-a48b-f2f40bcffd89","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/a54978f3-a177-419d-b27d-0ae755a8ae55'"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bfc1f741a7b890cee630f8bd87305c38","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"bfc1f741a7b890cee630f8bd87305c38","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/a54978f3-a177-419d-b27d-0ae755a8ae55"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/bfb72f57-134e-4aa7-a48b-f2f40bcffd89"}}},"level":"info","message":"received a callback","requestID":"bfc1f741a7b890cee630f8bd87305c38"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"bfc1f741a7b890cee630f8bd87305c38","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"bfc1f741a7b890cee630f8bd87305c38"} device-1 | {"data":{"peerconnection":"bfb72f57-134e-4aa7-a48b-f2f40bcffd89","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"cfe87675-b588-4a89-b729-530f9998e122","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a54978f3-a177-419d-b27d-0ae755a8ae55","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"cfe87675-b588-4a89-b729-530f9998e122","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"bfb72f57-134e-4aa7-a48b-f2f40bcffd89","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a54978f3-a177-419d-b27d-0ae755a8ae55","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bfb72f57-134e-4aa7-a48b-f2f40bcffd89' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bfb72f57-134e-4aa7-a48b-f2f40bcffd89","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"205170ddb49db9ddc5cccce04f2520f7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"205170ddb49db9ddc5cccce04f2520f7","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/a54978f3-a177-419d-b27d-0ae755a8ae55"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/bfb72f57-134e-4aa7-a48b-f2f40bcffd89"}}},"level":"info","message":"received a callback","requestID":"205170ddb49db9ddc5cccce04f2520f7"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"a51d8930-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:19Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbfb72f57-134e-4aa7-a48b-f2f40bcffd89","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f0e546c-0b9d-4dcc-96d7-7db156bdfe82","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216119.1160905} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.038107,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bfb72f57-134e-4aa7-a48b-f2f40bcffd89","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a51d8930-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/bfb72f57-134e-4aa7-a48b-f2f40bcffd89","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","method":"POST","requestID":"a51d8930-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"a51d8930-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/bfb72f57-134e-4aa7-a48b-f2f40bcffd89 200 16ms","method":"GET","requestID":"a51d8930-4430-11ef-b47c-55a12d3fdb12","responseTime":16,"status":200,"url":"/peerconnections/bfb72f57-134e-4aa7-a48b-f2f40bcffd89"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 54ms","method":"POST","requestID":"205170ddb49db9ddc5cccce04f2520f7","responseTime":54,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch","requestID":"205170ddb49db9ddc5cccce04f2520f7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a5243ff0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:19Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54978f3-a177-419d-b27d-0ae755a8ae55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"343691f9-022d-4c4c-b976-0222ea6b1e7d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216119.1579893} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.503163,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a5243ff0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"a5243ff0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a5243ff0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/a54978f3-a177-419d-b27d-0ae755a8ae55/signaling 200 13ms","method":"POST","requestID":"a5243ff0-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/a54978f3-a177-419d-b27d-0ae755a8ae55/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a526b0f0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:19Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45fce795-8471-43cf-844e-ced83f214b63","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216119.1743379} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.453989,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a526b0f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"a526b0f0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a526b0f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/cfe87675-b588-4a89-b729-530f9998e122/signaling 200 12ms","method":"POST","requestID":"a526b0f0-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/cfe87675-b588-4a89-b729-530f9998e122/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExOX0.o5Bre7JUPNmrCQu1Z3lp6IhSD-hkGBZFQ56Eos7Hurw","level":"info","message":"auth send jwt","requestID":"107218fe4ad93aebdb432a3efaeb3910"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"107218fe4ad93aebdb432a3efaeb3910","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed","requestID":"107218fe4ad93aebdb432a3efaeb3910"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.288699,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"107218fe4ad93aebdb432a3efaeb3910","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216119,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExOX0.o5Bre7JUPNmrCQu1Z3lp6IhSD-hkGBZFQ56Eos7Hurw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"107218fe4ad93aebdb432a3efaeb3910","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed","requestID":"107218fe4ad93aebdb432a3efaeb3910"} gateway-1 | {"time_local":"17/Jul/2024:11:35:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"107218fe4ad93aebdb432a3efaeb3910"} experiment-1 | {"level":"info","message":"GET /experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed 200 18ms","method":"GET","requestID":"107218fe4ad93aebdb432a3efaeb3910","responseTime":18,"status":200,"url":"/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExOX0.o5Bre7JUPNmrCQu1Z3lp6IhSD-hkGBZFQ56Eos7Hurw","level":"info","message":"auth send jwt","requestID":"dccf7b4a41d826e072759495c7f9e335"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dccf7b4a41d826e072759495c7f9e335","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed","requestID":"dccf7b4a41d826e072759495c7f9e335"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.124173,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"dccf7b4a41d826e072759495c7f9e335","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216119,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExOX0.o5Bre7JUPNmrCQu1Z3lp6IhSD-hkGBZFQ56Eos7Hurw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dccf7b4a41d826e072759495c7f9e335","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed"},"level":"info","message":"Attempting to finish experiment","requestID":"dccf7b4a41d826e072759495c7f9e335"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"a53fb730-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.267094,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:19Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bfb72f57-134e-4aa7-a48b-f2f40bcffd89","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a53fb730-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/bfb72f57-134e-4aa7-a48b-f2f40bcffd89","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216119,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExOX0.o5Bre7JUPNmrCQu1Z3lp6IhSD-hkGBZFQ56Eos7Hurw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a53fb730-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/bfb72f57-134e-4aa7-a48b-f2f40bcffd89","device":"a54978f3-a177-419d-b27d-0ae755a8ae55","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"cfe87675-b588-4a89-b729-530f9998e122","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"cfe87675-b588-4a89-b729-530f9998e122","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"cfe87675-b588-4a89-b729-530f9998e122","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bfb72f57-134e-4aa7-a48b-f2f40bcffd89' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/bfb72f57-134e-4aa7-a48b-f2f40bcffd89' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bfb72f57-134e-4aa7-a48b-f2f40bcffd89","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e929c1596f41abd7b2b493a313cf578d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e929c1596f41abd7b2b493a313cf578d","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbfb72f57-134e-4aa7-a48b-f2f40bcffd89': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbfb72f57-134e-4aa7-a48b-f2f40bcffd89","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"eebe06b9-8d6c-48b3-bb12-4c7e2f7e9c8e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216119.364696} 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/a54978f3-a177-419d-b27d-0ae755a8ae55"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bfb72f57-134e-4aa7-a48b-f2f40bcffd89"}}},"level":"info","message":"received a callback","requestID":"e929c1596f41abd7b2b493a313cf578d"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35a8a637-a7fc-46ab-b6a4-2928785af2d0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216119.3654392} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"775d2bd9629110d8c0b8e5c5f30d83af","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"775d2bd9629110d8c0b8e5c5f30d83af","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"a53fb730-4430-11ef-b47c-55a12d3fdb12","responseTime":17,"status":200,"url":"/relations/update"} 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/a54978f3-a177-419d-b27d-0ae755a8ae55"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bfb72f57-134e-4aa7-a48b-f2f40bcffd89"}}},"level":"info","message":"received a callback","requestID":"775d2bd9629110d8c0b8e5c5f30d83af"} device-1 | {"data":{"peerconnection":"bfb72f57-134e-4aa7-a48b-f2f40bcffd89","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"a53fb730-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/bfb72f57-134e-4aa7-a48b-f2f40bcffd89 204 56ms","method":"DELETE","requestID":"a53fb730-4430-11ef-b47c-55a12d3fdb12","responseTime":56,"status":204,"url":"/peerconnections/bfb72f57-134e-4aa7-a48b-f2f40bcffd89"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed"},"level":"info","message":"Successfully finished experiment","requestID":"dccf7b4a41d826e072759495c7f9e335"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a54cfda0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:19Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa54978f3-a177-419d-b27d-0ae755a8ae55","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"54155a8c-c8ae-49f5-93e9-ea6876112032","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216119.4262474} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.896205,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a54cfda0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"a54cfda0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a54cfda0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/a54978f3-a177-419d-b27d-0ae755a8ae55/signaling 200 16ms","method":"POST","requestID":"a54cfda0-4430-11ef-b47c-55a12d3fdb12","responseTime":16,"status":200,"url":"/devices/a54978f3-a177-419d-b27d-0ae755a8ae55/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1bf972e6-bdb9-4235-bada-c2d3087afeed': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1bf972e6-bdb9-4235-bada-c2d3087afeed","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"668b5709-3436-424b-90a7-7e41499d13b6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216119.435593} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"10d204af-1033-4f31-aa5e-bda03271698a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216119.435932} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"dccf7b4a41d826e072759495c7f9e335","responseTime":24,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a55031f0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:19Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcfe87675-b588-4a89-b729-530f9998e122","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ac562427-2820-488b-8051-838e575f79a5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216119.446312} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.830513,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a55031f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"a55031f0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a55031f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/cfe87675-b588-4a89-b729-530f9998e122/signaling 200 17ms","method":"POST","requestID":"a55031f0-4430-11ef-b47c-55a12d3fdb12","responseTime":17,"status":200,"url":"/devices/cfe87675-b588-4a89-b729-530f9998e122/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed","requestID":"dccf7b4a41d826e072759495c7f9e335"} gateway-1 | {"time_local":"17/Jul/2024:11:35:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dccf7b4a41d826e072759495c7f9e335"} gateway-1 | {"time_local":"17/Jul/2024:11:35:19 +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.782","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"43cd3a2f3744e94cc348ab0061bbf48b"} experiment-1 | {"level":"info","message":"DELETE /experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed 204 205ms","method":"DELETE","requestID":"dccf7b4a41d826e072759495c7f9e335","responseTime":205,"status":204,"url":"/experiments/1bf972e6-bdb9-4235-bada-c2d3087afeed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 157ms","method":"POST","requestID":"e929c1596f41abd7b2b493a313cf578d","responseTime":157,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.162","http_referrer":"","http_user_agent":"node-fetch","requestID":"e929c1596f41abd7b2b493a313cf578d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExOX0.o5Bre7JUPNmrCQu1Z3lp6IhSD-hkGBZFQ56Eos7Hurw","level":"info","message":"auth send jwt","requestID":"8be43dca88bff3a85670ecf9bc3535d0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8be43dca88bff3a85670ecf9bc3535d0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8be43dca88bff3a85670ecf9bc3535d0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 158ms","method":"POST","requestID":"775d2bd9629110d8c0b8e5c5f30d83af","responseTime":158,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.166","http_referrer":"","http_user_agent":"node-fetch","requestID":"775d2bd9629110d8c0b8e5c5f30d83af"} gateway-1 | {"time_local":"17/Jul/2024:11:35:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"3.331","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fdff318786c75fbcc5550cb00e1f9ff7"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.820857,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"8be43dca88bff3a85670ecf9bc3535d0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216119,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExOX0.o5Bre7JUPNmrCQu1Z3lp6IhSD-hkGBZFQ56Eos7Hurw"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/cfe87675-b588-4a89-b729-530f9998e122' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8be43dca88bff3a85670ecf9bc3535d0","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a54978f3-a177-419d-b27d-0ae755a8ae55' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87549219-3121-4848-922c-ef605ebb5625","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4680f04e-5530-4025-a90c-94257b5d415a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216119.5502427} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8be43dca88bff3a85670ecf9bc3535d0","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83cb7377-aca3-4f18-9176-f6ecc530bb14","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216119.556198} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"8be43dca88bff3a85670ecf9bc3535d0","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87549219-3121-4848-922c-ef605ebb5625","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"5a881a6d-6336-44d7-968a-d12ffdae2d0f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216119.567441} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d29a4fc8-f7ed-4707-8b91-8d1004ec8441","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216119.5676165} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"8be43dca88bff3a85670ecf9bc3535d0","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87549219-3121-4848-922c-ef605ebb5625","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87549219-3121-4848-922c-ef605ebb5625","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:19.567409639Z"}]},"request_id":"57b6a2c5-c8ab-4c7d-88fa-acaacce26f50","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216119.5719647} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8be43dca88bff3a85670ecf9bc3535d0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8be43dca88bff3a85670ecf9bc3535d0"} gateway-1 | {"time_local":"17/Jul/2024:11:35:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8be43dca88bff3a85670ecf9bc3535d0"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"8be43dca88bff3a85670ecf9bc3535d0","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExOX0.o5Bre7JUPNmrCQu1Z3lp6IhSD-hkGBZFQ56Eos7Hurw","level":"info","message":"auth send jwt","requestID":"8285456a8a4b288bac2230198016d9cd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8285456a8a4b288bac2230198016d9cd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8285456a8a4b288bac2230198016d9cd"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:19Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.92032,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"8285456a8a4b288bac2230198016d9cd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216119,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjExOX0.o5Bre7JUPNmrCQu1Z3lp6IhSD-hkGBZFQ56Eos7Hurw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8285456a8a4b288bac2230198016d9cd","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F204fe0e5-173b-4f69-b795-592fd526bb00","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a5216168-2363-45cf-9e37-049baae4034e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216119.6017184} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8285456a8a4b288bac2230198016d9cd","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"88bc41f8-5c4e-4f31-aad2-0ce3582e8ff4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216119.6068685} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"8285456a8a4b288bac2230198016d9cd","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F204fe0e5-173b-4f69-b795-592fd526bb00","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"52f687bc-1a48-454e-87a9-ecc9fd6ccf00","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216119.6191125} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4bf95af-33f0-4a0b-ba7b-a52f45ac2d84","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216119.6192958} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"8285456a8a4b288bac2230198016d9cd","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F204fe0e5-173b-4f69-b795-592fd526bb00","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F204fe0e5-173b-4f69-b795-592fd526bb00","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:19.619096831Z"}]},"request_id":"81ca2111-f010-459e-b06c-54fbe904a018","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216119.6244023} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8285456a8a4b288bac2230198016d9cd","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8285456a8a4b288bac2230198016d9cd"} gateway-1 | {"time_local":"17/Jul/2024:11:35:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8285456a8a4b288bac2230198016d9cd"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"8285456a8a4b288bac2230198016d9cd","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2dcc964bb0cbc7aca2c0a31149121905","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2dcc964bb0cbc7aca2c0a31149121905","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"813a13b4b6b8583374ad8445d7f2f69e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"813a13b4b6b8583374ad8445d7f2f69e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/204fe0e5-173b-4f69-b795-592fd526bb00/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":"2dcc964bb0cbc7aca2c0a31149121905"} device-1 | {"level":"info","message":"OPTIONS /devices/204fe0e5-173b-4f69-b795-592fd526bb00/websocket 200 2ms","method":"OPTIONS","requestID":"2dcc964bb0cbc7aca2c0a31149121905","responseTime":2,"status":200,"url":"/devices/204fe0e5-173b-4f69-b795-592fd526bb00/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/87549219-3121-4848-922c-ef605ebb5625/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":"813a13b4b6b8583374ad8445d7f2f69e"} device-1 | {"level":"info","message":"OPTIONS /devices/87549219-3121-4848-922c-ef605ebb5625/websocket 200 1ms","method":"OPTIONS","requestID":"813a13b4b6b8583374ad8445d7f2f69e","responseTime":1,"status":200,"url":"/devices/87549219-3121-4848-922c-ef605ebb5625/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMX0.xGzEF1dbZ9mIiQDvg_zHZxuGiMYauuDlqpVcmIZZD3w","level":"info","message":"auth send jwt","requestID":"514f7d481910eae4b367a0f723060939"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"514f7d481910eae4b367a0f723060939","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"514f7d481910eae4b367a0f723060939"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMX0.xGzEF1dbZ9mIiQDvg_zHZxuGiMYauuDlqpVcmIZZD3w","level":"info","message":"auth send jwt","requestID":"be892ba7d86e44a17c449c7d3db51e68"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"be892ba7d86e44a17c449c7d3db51e68","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:21Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"be892ba7d86e44a17c449c7d3db51e68"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.71517,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"514f7d481910eae4b367a0f723060939","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216121,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMX0.xGzEF1dbZ9mIiQDvg_zHZxuGiMYauuDlqpVcmIZZD3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"514f7d481910eae4b367a0f723060939","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.41776,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"be892ba7d86e44a17c449c7d3db51e68","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216121,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMX0.xGzEF1dbZ9mIiQDvg_zHZxuGiMYauuDlqpVcmIZZD3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"be892ba7d86e44a17c449c7d3db51e68","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"514f7d481910eae4b367a0f723060939"} gateway-1 | {"time_local":"17/Jul/2024:11:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/204fe0e5-173b-4f69-b795-592fd526bb00/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.037","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"514f7d481910eae4b367a0f723060939"} device-1 | {"level":"info","message":"POST /devices/204fe0e5-173b-4f69-b795-592fd526bb00/websocket 200 28ms","method":"POST","requestID":"514f7d481910eae4b367a0f723060939","responseTime":28,"status":200,"url":"/devices/204fe0e5-173b-4f69-b795-592fd526bb00/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"be892ba7d86e44a17c449c7d3db51e68"} gateway-1 | {"time_local":"17/Jul/2024:11:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/87549219-3121-4848-922c-ef605ebb5625/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"be892ba7d86e44a17c449c7d3db51e68"} device-1 | {"level":"info","message":"POST /devices/87549219-3121-4848-922c-ef605ebb5625/websocket 200 35ms","method":"POST","requestID":"be892ba7d86e44a17c449c7d3db51e68","responseTime":35,"status":200,"url":"/devices/87549219-3121-4848-922c-ef605ebb5625/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMX0.xGzEF1dbZ9mIiQDvg_zHZxuGiMYauuDlqpVcmIZZD3w","level":"info","message":"auth send jwt","requestID":"392421314720513c1f2084160cdd15d0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"392421314720513c1f2084160cdd15d0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"392421314720513c1f2084160cdd15d0"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.96465,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"392421314720513c1f2084160cdd15d0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216121,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMX0.xGzEF1dbZ9mIiQDvg_zHZxuGiMYauuDlqpVcmIZZD3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"392421314720513c1f2084160cdd15d0","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87549219-3121-4848-922c-ef605ebb5625","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87549219-3121-4848-922c-ef605ebb5625","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:19.567409639Z"}]},"request_id":"e1ab1049-d6dd-4258-a997-b046a0666cb2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216121.6853058} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"392421314720513c1f2084160cdd15d0","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"392421314720513c1f2084160cdd15d0"} device-1 | {"level":"info","message":"GET /devices/87549219-3121-4848-922c-ef605ebb5625? 200 20ms","method":"GET","requestID":"392421314720513c1f2084160cdd15d0","responseTime":20,"status":200,"url":"/devices/87549219-3121-4848-922c-ef605ebb5625?"} gateway-1 | {"time_local":"17/Jul/2024:11:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/87549219-3121-4848-922c-ef605ebb5625? 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":"392421314720513c1f2084160cdd15d0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMX0.xGzEF1dbZ9mIiQDvg_zHZxuGiMYauuDlqpVcmIZZD3w","level":"info","message":"auth send jwt","requestID":"0ca09e7afff4d8147df2587ea510b9d7"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0ca09e7afff4d8147df2587ea510b9d7","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0ca09e7afff4d8147df2587ea510b9d7"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.778432,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"0ca09e7afff4d8147df2587ea510b9d7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216121,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMX0.xGzEF1dbZ9mIiQDvg_zHZxuGiMYauuDlqpVcmIZZD3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0ca09e7afff4d8147df2587ea510b9d7","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F204fe0e5-173b-4f69-b795-592fd526bb00","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F204fe0e5-173b-4f69-b795-592fd526bb00","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:19.619096831Z"}]},"request_id":"51dd4f4c-15ed-4cf2-bf1e-e721c09afc49","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216121.711508} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"0ca09e7afff4d8147df2587ea510b9d7","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0ca09e7afff4d8147df2587ea510b9d7"} device-1 | {"level":"info","message":"GET /devices/204fe0e5-173b-4f69-b795-592fd526bb00? 200 20ms","method":"GET","requestID":"0ca09e7afff4d8147df2587ea510b9d7","responseTime":20,"status":200,"url":"/devices/204fe0e5-173b-4f69-b795-592fd526bb00?"} gateway-1 | {"time_local":"17/Jul/2024:11:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/204fe0e5-173b-4f69-b795-592fd526bb00? 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":"0ca09e7afff4d8147df2587ea510b9d7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMX0.xGzEF1dbZ9mIiQDvg_zHZxuGiMYauuDlqpVcmIZZD3w","level":"info","message":"auth send jwt","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7b5e8b886f82369d7ad5f5048330d90d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.348869,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"7b5e8b886f82369d7ad5f5048330d90d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216121,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMX0.xGzEF1dbZ9mIiQDvg_zHZxuGiMYauuDlqpVcmIZZD3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7b5e8b886f82369d7ad5f5048330d90d","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1"},"level":"info","message":"Attempting to run experiment","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1"},"level":"info","message":"Attempting to book experiment","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1"},"level":"info","message":"Successfully booked experiment","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a6b4cb00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a6b51920-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.094659,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a6b4cb00-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216121,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMX0.xGzEF1dbZ9mIiQDvg_zHZxuGiMYauuDlqpVcmIZZD3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a6b4cb00-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43406","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"client_addr":"127.0.0.1:43406","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.987466,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a6b51920-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216121,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMX0.xGzEF1dbZ9mIiQDvg_zHZxuGiMYauuDlqpVcmIZZD3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"a6b51920-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87549219-3121-4848-922c-ef605ebb5625","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87549219-3121-4848-922c-ef605ebb5625","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:19.567409639Z"}]},"request_id":"592d7565-f269-4c41-b734-afe559e2a8cb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216121.7885273} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a6b4cb00-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F204fe0e5-173b-4f69-b795-592fd526bb00","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F204fe0e5-173b-4f69-b795-592fd526bb00","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:19.619096831Z"}]},"request_id":"5f93081e-5115-4e03-af7b-1452ba5b1262","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216121.7945588} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a6b4cb00-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a6b51920-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/87549219-3121-4848-922c-ef605ebb5625? 200 20ms","method":"GET","requestID":"a6b4cb00-4430-11ef-b47c-55a12d3fdb12","responseTime":20,"status":200,"url":"/devices/87549219-3121-4848-922c-ef605ebb5625?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a6b51920-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/204fe0e5-173b-4f69-b795-592fd526bb00? 200 25ms","method":"GET","requestID":"a6b51920-4430-11ef-b47c-55a12d3fdb12","responseTime":25,"status":200,"url":"/devices/204fe0e5-173b-4f69-b795-592fd526bb00?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1"},"level":"info","message":"Setting up experiment","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1"},"level":"info","message":"Successfully locked booking for experiment","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1"},"level":"info","message":"Attempting to update booking for experiment","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1"},"level":"info","message":"Successfully updated booking for experiment","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1"},"level":"info","message":"Successfully set up experiment","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a6c6a550-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a6c6f370-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1"},"level":"info","message":"Successfully running experiment","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a6c74190-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.874436,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"client_addr":"127.0.0.1:43406","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a6c6a550-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216121,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMX0.xGzEF1dbZ9mIiQDvg_zHZxuGiMYauuDlqpVcmIZZD3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a6c6a550-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43406","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.614238,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a6c6f370-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216121,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMX0.xGzEF1dbZ9mIiQDvg_zHZxuGiMYauuDlqpVcmIZZD3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a6c6f370-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87549219-3121-4848-922c-ef605ebb5625","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80bb3fa5-a04f-4163-aedd-b910dae0a2ec","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216121.9037578} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.402395,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a6c74190-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a6c74190-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87549219-3121-4848-922c-ef605ebb5625","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87549219-3121-4848-922c-ef605ebb5625","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:19.567409639Z"}]},"request_id":"26ac4b95-0863-4285-b2d4-4f319e367578","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216121.906258} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a6c6a550-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F204fe0e5-173b-4f69-b795-592fd526bb00","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F204fe0e5-173b-4f69-b795-592fd526bb00","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:19.619096831Z"}]},"request_id":"d9776717-6cdf-4408-8fb1-cf13b8b95808","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216121.9091976} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a6c6f370-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a6c74190-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/87549219-3121-4848-922c-ef605ebb5625/signaling 200 15ms","method":"POST","requestID":"a6c74190-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/87549219-3121-4848-922c-ef605ebb5625/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe516008d-148d-450c-9f58-c47003f8bfe1#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe516008d-148d-450c-9f58-c47003f8bfe1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"9f1bfe43-bcc8-41af-85b0-f8a08467cb03","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216121.9139788} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ac1c7a6b-078a-4db0-9449-1fba1c355fe3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216121.914081} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a6ca00b0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"7b5e8b886f82369d7ad5f5048330d90d","responseTime":16,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a6c6a550-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/87549219-3121-4848-922c-ef605ebb5625? 200 24ms","method":"GET","requestID":"a6c6a550-4430-11ef-b47c-55a12d3fdb12","responseTime":24,"status":200,"url":"/devices/87549219-3121-4848-922c-ef605ebb5625?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a6c6f370-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:21Z"} device-1 | {"level":"info","message":"GET /devices/204fe0e5-173b-4f69-b795-592fd526bb00? 200 23ms","method":"GET","requestID":"a6c6f370-4430-11ef-b47c-55a12d3fdb12","responseTime":23,"status":200,"url":"/devices/204fe0e5-173b-4f69-b795-592fd526bb00?"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F204fe0e5-173b-4f69-b795-592fd526bb00","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"67af6c9f-a64e-414a-8e11-b80eac15cc2c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216121.920762} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.439315,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a6ca00b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"a6ca00b0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a6cb6040-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} gateway-1 | {"time_local":"17/Jul/2024:11:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.207","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} experiment-1 | {"level":"info","message":"POST /experiments? 201 201ms","method":"POST","requestID":"7b5e8b886f82369d7ad5f5048330d90d","responseTime":201,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a6ca00b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/204fe0e5-173b-4f69-b795-592fd526bb00/signaling 200 12ms","method":"POST","requestID":"a6ca00b0-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/204fe0e5-173b-4f69-b795-592fd526bb00/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87549219-3121-4848-922c-ef605ebb5625","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a8a9f09-c0fa-438b-a339-4963c4563692","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216121.9296424} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.002181,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:21Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMX0.xGzEF1dbZ9mIiQDvg_zHZxuGiMYauuDlqpVcmIZZD3w","level":"info","message":"auth send jwt","requestID":"dfdfe7bd01ff90dab0a843885f895d22"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a6cb6040-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625","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":"dfdfe7bd01ff90dab0a843885f895d22","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a6cb6040-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dfdfe7bd01ff90dab0a843885f895d22"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a6cb6040-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/87549219-3121-4848-922c-ef605ebb5625/signaling 200 12ms","method":"POST","requestID":"a6cb6040-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/87549219-3121-4848-922c-ef605ebb5625/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.760612,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"dfdfe7bd01ff90dab0a843885f895d22","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216121,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMX0.xGzEF1dbZ9mIiQDvg_zHZxuGiMYauuDlqpVcmIZZD3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dfdfe7bd01ff90dab0a843885f895d22","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a6cd8320-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87549219-3121-4848-922c-ef605ebb5625","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87549219-3121-4848-922c-ef605ebb5625","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:19.567409639Z"}]},"request_id":"205cc536-4c52-428b-891c-d15af0022f5d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216121.943303} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"dfdfe7bd01ff90dab0a843885f895d22","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F204fe0e5-173b-4f69-b795-592fd526bb00","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e0bc5b9c-795c-457e-ae7a-4d306502ec86","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216121.9437313} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.829373,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a6cd8320-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a6cd8320-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dfdfe7bd01ff90dab0a843885f895d22"} device-1 | {"level":"info","message":"GET /devices/87549219-3121-4848-922c-ef605ebb5625? 200 16ms","method":"GET","requestID":"dfdfe7bd01ff90dab0a843885f895d22","responseTime":16,"status":200,"url":"/devices/87549219-3121-4848-922c-ef605ebb5625?"} gateway-1 | {"time_local":"17/Jul/2024:11:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/87549219-3121-4848-922c-ef605ebb5625? 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":"dfdfe7bd01ff90dab0a843885f895d22"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a6cd8320-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/204fe0e5-173b-4f69-b795-592fd526bb00/signaling 200 12ms","method":"POST","requestID":"a6cd8320-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/204fe0e5-173b-4f69-b795-592fd526bb00/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1"},"level":"info","message":"Building connection plan","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"43d8f742-e902-4889-a113-dd7ebdb7201d"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"6b677031-0bfa-4e3b-95a9-5a5c7ca4411a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"ab9481f8-aa15-4829-9096-33edb26620bf"}]},"level":"info","message":"Built pairwise service configurations","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} 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/204fe0e5-173b-4f69-b795-592fd526bb00"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMX0.xGzEF1dbZ9mIiQDvg_zHZxuGiMYauuDlqpVcmIZZD3w","level":"info","message":"auth send jwt","requestID":"cfe9404ea16be41498cf858678e858c5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cfe9404ea16be41498cf858678e858c5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"a6cfcd10-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cfe9404ea16be41498cf858678e858c5"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.59721,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"client_addr":"127.0.0.1:43406","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a6cfcd10-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216121,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMX0.xGzEF1dbZ9mIiQDvg_zHZxuGiMYauuDlqpVcmIZZD3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a6cfcd10-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43406","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.640292,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cfe9404ea16be41498cf858678e858c5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216121,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMX0.xGzEF1dbZ9mIiQDvg_zHZxuGiMYauuDlqpVcmIZZD3w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cfe9404ea16be41498cf858678e858c5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F204fe0e5-173b-4f69-b795-592fd526bb00","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F204fe0e5-173b-4f69-b795-592fd526bb00","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:19.619096831Z"}]},"request_id":"9a1f940d-13cb-4760-8e40-7b7b55981265","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216121.9627473} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cfe9404ea16be41498cf858678e858c5","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cfe9404ea16be41498cf858678e858c5"} gateway-1 | {"time_local":"17/Jul/2024:11:35:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/204fe0e5-173b-4f69-b795-592fd526bb00? 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":"cfe9404ea16be41498cf858678e858c5"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"b252bf3d-f325-48b9-bd9c-f2c791d7b763","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216121.9674041} device-1 | {"level":"info","message":"GET /devices/204fe0e5-173b-4f69-b795-592fd526bb00? 200 12ms","method":"GET","requestID":"cfe9404ea16be41498cf858678e858c5","responseTime":12,"status":200,"url":"/devices/204fe0e5-173b-4f69-b795-592fd526bb00?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"80ae3d16-fccb-42a4-a69f-83c7dcf01ed5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216121.9676723} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"a6cfcd10-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"a6cfcd10-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"a6cfcd10-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f'","requestID":"a6cfcd10-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f'","requestID":"a6cfcd10-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"a6cfcd10-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 26ms","method":"POST","requestID":"a6cfcd10-4430-11ef-b47c-55a12d3fdb12","responseTime":26,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"a6cfcd10-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f","device":"204fe0e5-173b-4f69-b795-592fd526bb00","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f","device":"87549219-3121-4848-922c-ef605ebb5625","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"7b5e8b886f82369d7ad5f5048330d90d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a6d91be0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:22Z"} device-1 | {"device":"204fe0e5-173b-4f69-b795-592fd526bb00","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"204fe0e5-173b-4f69-b795-592fd526bb00","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87549219-3121-4848-922c-ef605ebb5625","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8d5e1b25-e89a-49d0-9a86-a6247a0782b6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.0192096} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.527779,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a6d91be0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a6d91be0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a6d91be0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/87549219-3121-4848-922c-ef605ebb5625/signaling 200 10ms","method":"POST","requestID":"a6d91be0-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/87549219-3121-4848-922c-ef605ebb5625/signaling"} device-1 | {"device":"87549219-3121-4848-922c-ef605ebb5625","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"87549219-3121-4848-922c-ef605ebb5625","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a6daf0a0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:22Z"} device-1 | {"content":{"sdp":"v=0\r\no=- 4263454182495365518 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:58T1\r\na=ice-pwd:+Zab5irzV3Srna7+/WRaQPub\r\na=ice-options:trickle\r\na=fingerprint:sha-256 C9:18:93:5A:EA:C4:61:B0:25:9B:6B:02:9A:F6:38:BA:29:D1:51:9C:3B:00:1E:BE:82:A4:52:AB:C3:31:CA:1B\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"87549219-3121-4848-922c-ef605ebb5625","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F204fe0e5-173b-4f69-b795-592fd526bb00","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0de72fd0-4ba0-4366-b26c-d9ab4708be52","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.0320024} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.949978,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a6daf0a0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625'"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a6daf0a0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a6daf0a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/204fe0e5-173b-4f69-b795-592fd526bb00/signaling 200 11ms","method":"POST","requestID":"a6daf0a0-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/204fe0e5-173b-4f69-b795-592fd526bb00/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 5180206612189795244 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:mQtH\r\na=ice-pwd:XIkRt8z/UeDrF3Kw81GH9Cz3\r\na=ice-options:trickle\r\na=fingerprint:sha-256 F1:9D:08:F8:23:CD:00:E5:8F:A4:64:95:20:9B:BB:0B:F4:BB:FC:2C:DF:8C:9E:2A:F0:31:04:D2:B8:40:A8:3C\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"204fe0e5-173b-4f69-b795-592fd526bb00","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3111668490 1 udp 2113937151 017bc519-257f-4d69-89c8-ac5a6e133662.local 38839 typ host generation 0 ufrag mQtH network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"204fe0e5-173b-4f69-b795-592fd526bb00","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:710142489 1 udp 1677729535 141.24.211.56 38839 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag mQtH network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"204fe0e5-173b-4f69-b795-592fd526bb00","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00'"} device-1 | {"content":{"candidate":"candidate:3512957464 1 udp 2113937151 66964b26-2afd-4941-b41d-131fffc27eb1.local 59610 typ host generation 0 ufrag 58T1 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"87549219-3121-4848-922c-ef605ebb5625","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1431179367 1 udp 1677729535 141.24.211.56 59610 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 58T1 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"87549219-3121-4848-922c-ef605ebb5625","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625'"} device-1 | {"device":"87549219-3121-4848-922c-ef605ebb5625","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"87549219-3121-4848-922c-ef605ebb5625","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"204fe0e5-173b-4f69-b795-592fd526bb00","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bb26d393-ed87-47ac-a07f-1f174aef743f","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7b2b728dad9eddfcde29b82933f1aa7e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 | {"device":"204fe0e5-173b-4f69-b795-592fd526bb00","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"87549219-3121-4848-922c-ef605ebb5625","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f"}}},"level":"info","message":"received a callback","requestID":"7b2b728dad9eddfcde29b82933f1aa7e"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"7b2b728dad9eddfcde29b82933f1aa7e","responseTime":0,"status":200,"url":"/auth"} device-1 | {"device":"204fe0e5-173b-4f69-b795-592fd526bb00","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"7b2b728dad9eddfcde29b82933f1aa7e","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"7b2b728dad9eddfcde29b82933f1aa7e"} device-1 | {"data":{"peerconnection":"bb26d393-ed87-47ac-a07f-1f174aef743f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"204fe0e5-173b-4f69-b795-592fd526bb00","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"bb26d393-ed87-47ac-a07f-1f174aef743f","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/bb26d393-ed87-47ac-a07f-1f174aef743f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bb26d393-ed87-47ac-a07f-1f174aef743f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"93fd455021af5f05be47a641ae9231b2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"93fd455021af5f05be47a641ae9231b2","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f"}}},"level":"info","message":"received a callback","requestID":"93fd455021af5f05be47a641ae9231b2"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"a6e68960-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbb26d393-ed87-47ac-a07f-1f174aef743f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"762e428b-649a-42a6-8d1e-62dff0b454a5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.1074915} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.768119,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a6e68960-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f","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","method":"POST","requestID":"a6e68960-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"a6e68960-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f 200 10ms","method":"GET","requestID":"a6e68960-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 41ms","method":"POST","requestID":"93fd455021af5f05be47a641ae9231b2","responseTime":41,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a6ec07a0-4430-11ef-b47c-55a12d3fdb12"} gateway-1 | {"time_local":"17/Jul/2024:11:35:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch","requestID":"93fd455021af5f05be47a641ae9231b2"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F204fe0e5-173b-4f69-b795-592fd526bb00","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f748376f-bf2b-4c68-8365-371e66d97811","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.143648} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.838525,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a6ec07a0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a6ec07a0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a6ec07a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/204fe0e5-173b-4f69-b795-592fd526bb00/signaling 200 11ms","method":"POST","requestID":"a6ec07a0-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/204fe0e5-173b-4f69-b795-592fd526bb00/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a6ee0370-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87549219-3121-4848-922c-ef605ebb5625","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4335e0f1-4108-49e0-b924-8acaff93927a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.1567354} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.017945,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a6ee0370-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a6ee0370-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a6ee0370-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/87549219-3121-4848-922c-ef605ebb5625/signaling 200 11ms","method":"POST","requestID":"a6ee0370-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/87549219-3121-4848-922c-ef605ebb5625/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMn0.U1R2hYOd0fkHdEKQIIisb4PQVtkjG8eVbmclUnMlNUY","level":"info","message":"auth send jwt","requestID":"62300f2b93787697068f7819e2f5cbd5"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"62300f2b93787697068f7819e2f5cbd5","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e516008d-148d-450c-9f58-c47003f8bfe1","requestID":"62300f2b93787697068f7819e2f5cbd5"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.66864,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"62300f2b93787697068f7819e2f5cbd5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216122,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMn0.U1R2hYOd0fkHdEKQIIisb4PQVtkjG8eVbmclUnMlNUY"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"62300f2b93787697068f7819e2f5cbd5","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e516008d-148d-450c-9f58-c47003f8bfe1","requestID":"62300f2b93787697068f7819e2f5cbd5"} gateway-1 | {"time_local":"17/Jul/2024:11:35:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e516008d-148d-450c-9f58-c47003f8bfe1 HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"62300f2b93787697068f7819e2f5cbd5"} experiment-1 | {"level":"info","message":"GET /experiments/e516008d-148d-450c-9f58-c47003f8bfe1 200 20ms","method":"GET","requestID":"62300f2b93787697068f7819e2f5cbd5","responseTime":20,"status":200,"url":"/experiments/e516008d-148d-450c-9f58-c47003f8bfe1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMn0.U1R2hYOd0fkHdEKQIIisb4PQVtkjG8eVbmclUnMlNUY","level":"info","message":"auth send jwt","requestID":"473f52ac720c2b07b3f306880c2d5d04"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"473f52ac720c2b07b3f306880c2d5d04","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e516008d-148d-450c-9f58-c47003f8bfe1","requestID":"473f52ac720c2b07b3f306880c2d5d04"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.251793,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"473f52ac720c2b07b3f306880c2d5d04","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216122,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMn0.U1R2hYOd0fkHdEKQIIisb4PQVtkjG8eVbmclUnMlNUY"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"473f52ac720c2b07b3f306880c2d5d04","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1"},"level":"info","message":"Attempting to finish experiment","requestID":"473f52ac720c2b07b3f306880c2d5d04"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"a70d9960-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.222332,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a70d9960-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216122,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMn0.U1R2hYOd0fkHdEKQIIisb4PQVtkjG8eVbmclUnMlNUY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a70d9960-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f","device":"204fe0e5-173b-4f69-b795-592fd526bb00","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f","device":"87549219-3121-4848-922c-ef605ebb5625","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bb26d393-ed87-47ac-a07f-1f174aef743f","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c4da872ac893dac5d6c946740ad838d0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbb26d393-ed87-47ac-a07f-1f174aef743f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbb26d393-ed87-47ac-a07f-1f174aef743f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"1ccbebac-8af6-422c-bfe1-aab78817cea2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.3799045} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c2bf6f45-ec9a-42d3-9044-c7cbe2778004","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.380207} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c4da872ac893dac5d6c946740ad838d0","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"15d443a0ed5690f0cd5a0ba8a341c511","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f"}}},"level":"info","message":"received a callback","requestID":"c4da872ac893dac5d6c946740ad838d0"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"15d443a0ed5690f0cd5a0ba8a341c511","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"a70d9960-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f"}}},"level":"info","message":"received a callback","requestID":"15d443a0ed5690f0cd5a0ba8a341c511"} device-1 | {"data":{"peerconnection":"bb26d393-ed87-47ac-a07f-1f174aef743f","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"a70d9960-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f 204 42ms","method":"DELETE","requestID":"a70d9960-4430-11ef-b47c-55a12d3fdb12","responseTime":42,"status":204,"url":"/peerconnections/bb26d393-ed87-47ac-a07f-1f174aef743f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e516008d-148d-450c-9f58-c47003f8bfe1"},"level":"info","message":"Successfully finished experiment","requestID":"473f52ac720c2b07b3f306880c2d5d04"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a717f9a0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F204fe0e5-173b-4f69-b795-592fd526bb00","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c98b014c-22eb-487c-ab99-b14872e4694a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.4330783} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.612375,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a717f9a0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"a717f9a0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a717f9a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/204fe0e5-173b-4f69-b795-592fd526bb00/signaling 200 14ms","method":"POST","requestID":"a717f9a0-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/204fe0e5-173b-4f69-b795-592fd526bb00/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe516008d-148d-450c-9f58-c47003f8bfe1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe516008d-148d-450c-9f58-c47003f8bfe1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"32bc5c6f-4627-4d25-8a15-f97b4450d413","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.440818} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b90bc034-aa9c-4061-bbf8-04b3dc399041","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.4412045} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"473f52ac720c2b07b3f306880c2d5d04","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a71a91b0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87549219-3121-4848-922c-ef605ebb5625","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6dde455-fef8-49bf-a633-ed4000d825e8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.4488885} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.969729,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a71a91b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a71a91b0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a71a91b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/87549219-3121-4848-922c-ef605ebb5625/signaling 200 12ms","method":"POST","requestID":"a71a91b0-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/87549219-3121-4848-922c-ef605ebb5625/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e516008d-148d-450c-9f58-c47003f8bfe1","requestID":"473f52ac720c2b07b3f306880c2d5d04"} gateway-1 | {"time_local":"17/Jul/2024:11:35:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e516008d-148d-450c-9f58-c47003f8bfe1 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":"473f52ac720c2b07b3f306880c2d5d04"} experiment-1 | {"level":"info","message":"DELETE /experiments/e516008d-148d-450c-9f58-c47003f8bfe1 204 176ms","method":"DELETE","requestID":"473f52ac720c2b07b3f306880c2d5d04","responseTime":176,"status":204,"url":"/experiments/e516008d-148d-450c-9f58-c47003f8bfe1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"c4da872ac893dac5d6c946740ad838d0","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"c4da872ac893dac5d6c946740ad838d0"} gateway-1 | {"time_local":"17/Jul/2024:11:35:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2630","request_time":"0.882","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e82bb42615e923267c18cbfadfdbc52f"} gateway-1 | {"time_local":"17/Jul/2024:11:35:22 +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.895","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"35d1bc4fc2f8a8b27e74c25920bb7b02"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 149ms","method":"POST","requestID":"15d443a0ed5690f0cd5a0ba8a341c511","responseTime":149,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch","requestID":"15d443a0ed5690f0cd5a0ba8a341c511"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/204fe0e5-173b-4f69-b795-592fd526bb00' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMn0.U1R2hYOd0fkHdEKQIIisb4PQVtkjG8eVbmclUnMlNUY","level":"info","message":"auth send jwt","requestID":"eb308bf12dd2d9ba542cc8b9becc84db"} authentication-1 | {"level":"info","message":"GET /auth 200 17ms","method":"GET","requestID":"eb308bf12dd2d9ba542cc8b9becc84db","responseTime":17,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"eb308bf12dd2d9ba542cc8b9becc84db"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.802366,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"eb308bf12dd2d9ba542cc8b9becc84db","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216122,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMn0.U1R2hYOd0fkHdEKQIIisb4PQVtkjG8eVbmclUnMlNUY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"eb308bf12dd2d9ba542cc8b9becc84db","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/87549219-3121-4848-922c-ef605ebb5625' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc67a4d4-9e66-448d-bbb4-029c0ebb82e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"aa84fb7d-d43b-45f2-83db-0ac8fa274613","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.5528076} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"eb308bf12dd2d9ba542cc8b9becc84db","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc4e26b1-4c3e-4ea9-915c-1b028b5b6f24","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.55779} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"eb308bf12dd2d9ba542cc8b9becc84db","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc67a4d4-9e66-448d-bbb4-029c0ebb82e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"a716cdc3-3e1f-4c5b-bab5-ada83475cc30","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.568599} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c0f29fe-b5c2-4aea-8e0f-8019028a4a4c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.5688114} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"eb308bf12dd2d9ba542cc8b9becc84db","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc67a4d4-9e66-448d-bbb4-029c0ebb82e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc67a4d4-9e66-448d-bbb4-029c0ebb82e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:22.568578313Z"}]},"request_id":"c8e0cea0-c3c0-4501-95c7-2e54586031af","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.5734024} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"eb308bf12dd2d9ba542cc8b9becc84db","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"eb308bf12dd2d9ba542cc8b9becc84db"} gateway-1 | {"time_local":"17/Jul/2024:11:35:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb308bf12dd2d9ba542cc8b9becc84db"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"eb308bf12dd2d9ba542cc8b9becc84db","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMn0.U1R2hYOd0fkHdEKQIIisb4PQVtkjG8eVbmclUnMlNUY","level":"info","message":"auth send jwt","requestID":"bce03e252a1236c853d702a99689a7de"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bce03e252a1236c853d702a99689a7de","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bce03e252a1236c853d702a99689a7de"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.735316,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bce03e252a1236c853d702a99689a7de","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216122,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyMn0.U1R2hYOd0fkHdEKQIIisb4PQVtkjG8eVbmclUnMlNUY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bce03e252a1236c853d702a99689a7de","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"99962763-c1e6-4b1a-9f75-980634398ed1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.601943} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bce03e252a1236c853d702a99689a7de","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eeb66189-58d8-47b2-8ce8-c97c1dd625cd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.6067047} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"bce03e252a1236c853d702a99689a7de","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"c14e0e45-c9ab-45e9-b8bd-efca8c9d70ce","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.6184812} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"46fdee5d-6914-4edf-a974-47e1069ebfeb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.6186094} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"bce03e252a1236c853d702a99689a7de","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:22.618465058Z"}]},"request_id":"decabbe5-82d2-4196-9b03-acc10472ce43","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216122.6233487} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bce03e252a1236c853d702a99689a7de","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bce03e252a1236c853d702a99689a7de"} gateway-1 | {"time_local":"17/Jul/2024:11:35:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bce03e252a1236c853d702a99689a7de"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"bce03e252a1236c853d702a99689a7de","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyM30.lOFOGulAJ3tpeVwwBOlNolEx3PR0nHgOe9rU9AZ886I","level":"info","message":"auth send jwt","requestID":"f296a57ab95a2c70b593bf27d2895857"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f296a57ab95a2c70b593bf27d2895857","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f296a57ab95a2c70b593bf27d2895857"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:23Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.850651,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"f296a57ab95a2c70b593bf27d2895857","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216123,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyM30.lOFOGulAJ3tpeVwwBOlNolEx3PR0nHgOe9rU9AZ886I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f296a57ab95a2c70b593bf27d2895857","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:22.618465058Z"}]},"request_id":"607fb97c-7a54-4494-920f-dcca7260a36a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216123.118986} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f296a57ab95a2c70b593bf27d2895857","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0de1e207-e218-4c06-8113-2ac7ce7bd6da","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216123.1267166} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"f296a57ab95a2c70b593bf27d2895857","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:22.618465058Z"}]},"request_id":"192aee8d-0d6a-4086-bac2-5bab4d9ad8d3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216123.1406703} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"f296a57ab95a2c70b593bf27d2895857","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f296a57ab95a2c70b593bf27d2895857"} device-1 | {"level":"info","message":"PATCH /devices/963b9e70-c99c-4916-b3c0-68815a3be9e1 200 41ms","method":"PATCH","requestID":"f296a57ab95a2c70b593bf27d2895857","responseTime":41,"status":200,"url":"/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1"} gateway-1 | {"time_local":"17/Jul/2024:11:35:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/963b9e70-c99c-4916-b3c0-68815a3be9e1 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":"f296a57ab95a2c70b593bf27d2895857"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyM30.lOFOGulAJ3tpeVwwBOlNolEx3PR0nHgOe9rU9AZ886I","level":"info","message":"auth send jwt","requestID":"e6b5a5906b29916c480d68e1b6d3648f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e6b5a5906b29916c480d68e1b6d3648f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e6b5a5906b29916c480d68e1b6d3648f"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:23Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.332869,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"e6b5a5906b29916c480d68e1b6d3648f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216123,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyM30.lOFOGulAJ3tpeVwwBOlNolEx3PR0nHgOe9rU9AZ886I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e6b5a5906b29916c480d68e1b6d3648f","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e6b5a5906b29916c480d68e1b6d3648f"} gateway-1 | {"time_local":"17/Jul/2024:11:35:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/963b9e70-c99c-4916-b3c0-68815a3be9e1/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":"e6b5a5906b29916c480d68e1b6d3648f"} device-1 | {"level":"info","message":"POST /devices/963b9e70-c99c-4916-b3c0-68815a3be9e1/websocket 200 22ms","method":"POST","requestID":"e6b5a5906b29916c480d68e1b6d3648f","responseTime":22,"status":200,"url":"/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"875ed13adead8992b3318df4b6db8eea","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"875ed13adead8992b3318df4b6db8eea","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:35:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3/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":"875ed13adead8992b3318df4b6db8eea"} device-1 | {"level":"info","message":"OPTIONS /devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3/websocket 200 1ms","method":"OPTIONS","requestID":"875ed13adead8992b3318df4b6db8eea","responseTime":1,"status":200,"url":"/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyNH0.mRBAtN5wZCmCcVYM5pT9-32Qg-uAcgdcNb5cnrm49Iw","level":"info","message":"auth send jwt","requestID":"e5491d3c8e4a627e9b3b5277c44408a0"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e5491d3c8e4a627e9b3b5277c44408a0","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e5491d3c8e4a627e9b3b5277c44408a0"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.139312,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"e5491d3c8e4a627e9b3b5277c44408a0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216124,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyNH0.mRBAtN5wZCmCcVYM5pT9-32Qg-uAcgdcNb5cnrm49Iw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e5491d3c8e4a627e9b3b5277c44408a0","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e5491d3c8e4a627e9b3b5277c44408a0"} gateway-1 | {"time_local":"17/Jul/2024:11:35:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3/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":"e5491d3c8e4a627e9b3b5277c44408a0"} device-1 | {"level":"info","message":"POST /devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3/websocket 200 23ms","method":"POST","requestID":"e5491d3c8e4a627e9b3b5277c44408a0","responseTime":23,"status":200,"url":"/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyNH0.mRBAtN5wZCmCcVYM5pT9-32Qg-uAcgdcNb5cnrm49Iw","level":"info","message":"auth send jwt","requestID":"44117cdbe9456381397f7404c9d1b774"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"44117cdbe9456381397f7404c9d1b774","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"44117cdbe9456381397f7404c9d1b774"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.237565,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"44117cdbe9456381397f7404c9d1b774","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216124,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyNH0.mRBAtN5wZCmCcVYM5pT9-32Qg-uAcgdcNb5cnrm49Iw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"44117cdbe9456381397f7404c9d1b774","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc67a4d4-9e66-448d-bbb4-029c0ebb82e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc67a4d4-9e66-448d-bbb4-029c0ebb82e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:22.568578313Z"}]},"request_id":"c9bd005b-2bd0-4cf0-ae68-d4b6e14055eb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216124.683183} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"44117cdbe9456381397f7404c9d1b774","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"44117cdbe9456381397f7404c9d1b774"} gateway-1 | {"time_local":"17/Jul/2024:11:35:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3? 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":"44117cdbe9456381397f7404c9d1b774"} device-1 | {"level":"info","message":"GET /devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3? 200 20ms","method":"GET","requestID":"44117cdbe9456381397f7404c9d1b774","responseTime":20,"status":200,"url":"/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyNH0.mRBAtN5wZCmCcVYM5pT9-32Qg-uAcgdcNb5cnrm49Iw","level":"info","message":"auth send jwt","requestID":"5f336af3a811db4bac813ca82017c30a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5f336af3a811db4bac813ca82017c30a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5f336af3a811db4bac813ca82017c30a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.306224,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"5f336af3a811db4bac813ca82017c30a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216124,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyNH0.mRBAtN5wZCmCcVYM5pT9-32Qg-uAcgdcNb5cnrm49Iw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5f336af3a811db4bac813ca82017c30a","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:22.618465058Z"}]},"request_id":"eeed5df1-44e9-4313-b8d8-8561b4077a32","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216124.711453} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"5f336af3a811db4bac813ca82017c30a","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5f336af3a811db4bac813ca82017c30a"} gateway-1 | {"time_local":"17/Jul/2024:11:35:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/963b9e70-c99c-4916-b3c0-68815a3be9e1? 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":"5f336af3a811db4bac813ca82017c30a"} device-1 | {"level":"info","message":"GET /devices/963b9e70-c99c-4916-b3c0-68815a3be9e1? 200 20ms","method":"GET","requestID":"5f336af3a811db4bac813ca82017c30a","responseTime":20,"status":200,"url":"/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyNH0.mRBAtN5wZCmCcVYM5pT9-32Qg-uAcgdcNb5cnrm49Iw","level":"info","message":"auth send jwt","requestID":"6c751a0eb902266994f4b806b478dbff"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6c751a0eb902266994f4b806b478dbff","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"6c751a0eb902266994f4b806b478dbff"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.448322,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"6c751a0eb902266994f4b806b478dbff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216124,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyNH0.mRBAtN5wZCmCcVYM5pT9-32Qg-uAcgdcNb5cnrm49Iw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"6c751a0eb902266994f4b806b478dbff","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d"},"level":"info","message":"Attempting to run experiment","requestID":"6c751a0eb902266994f4b806b478dbff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d"},"level":"info","message":"Attempting to book experiment","requestID":"6c751a0eb902266994f4b806b478dbff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d"},"level":"info","message":"Successfully booked experiment","requestID":"6c751a0eb902266994f4b806b478dbff"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a87dcb30-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a87e1950-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"client_addr":"127.0.0.1:43406","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.409105,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a87dcb30-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216124,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyNH0.mRBAtN5wZCmCcVYM5pT9-32Qg-uAcgdcNb5cnrm49Iw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a87dcb30-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43406","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.668377,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a87e1950-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216124,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyNH0.mRBAtN5wZCmCcVYM5pT9-32Qg-uAcgdcNb5cnrm49Iw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a87e1950-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc67a4d4-9e66-448d-bbb4-029c0ebb82e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc67a4d4-9e66-448d-bbb4-029c0ebb82e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:22.568578313Z"}]},"request_id":"7edf5fcf-60d0-4101-aa07-29877906b9d1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216124.784187} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"a87dcb30-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:22.618465058Z"}]},"request_id":"d5dcf103-403b-4a1f-9955-a9cc0105bd80","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216124.7861955} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a87e1950-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a87dcb30-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3? 200 24ms","method":"GET","requestID":"a87dcb30-4430-11ef-b47c-55a12d3fdb12","responseTime":24,"status":200,"url":"/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a87e1950-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/963b9e70-c99c-4916-b3c0-68815a3be9e1? 200 24ms","method":"GET","requestID":"a87e1950-4430-11ef-b47c-55a12d3fdb12","responseTime":24,"status":200,"url":"/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d"},"level":"info","message":"Setting up experiment","requestID":"6c751a0eb902266994f4b806b478dbff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"6c751a0eb902266994f4b806b478dbff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d"},"level":"info","message":"Successfully locked booking for experiment","requestID":"6c751a0eb902266994f4b806b478dbff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"6c751a0eb902266994f4b806b478dbff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"6c751a0eb902266994f4b806b478dbff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d"},"level":"info","message":"Attempting to update booking for experiment","requestID":"6c751a0eb902266994f4b806b478dbff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d"},"level":"info","message":"Successfully updated booking for experiment","requestID":"6c751a0eb902266994f4b806b478dbff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d"},"level":"info","message":"Successfully set up experiment","requestID":"6c751a0eb902266994f4b806b478dbff"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a88a9c70-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a88b11a0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:24Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a88b5fc0-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d"},"level":"info","message":"Successfully running experiment","requestID":"6c751a0eb902266994f4b806b478dbff"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.888532,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"client_addr":"127.0.0.1:43406","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a88a9c70-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216124,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyNH0.mRBAtN5wZCmCcVYM5pT9-32Qg-uAcgdcNb5cnrm49Iw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a88a9c70-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43406","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.795981,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a88b11a0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216124,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyNH0.mRBAtN5wZCmCcVYM5pT9-32Qg-uAcgdcNb5cnrm49Iw"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"a88b11a0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc67a4d4-9e66-448d-bbb4-029c0ebb82e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc67a4d4-9e66-448d-bbb4-029c0ebb82e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:22.568578313Z"}]},"request_id":"f44c0d24-8497-4579-b9f4-c69fd1761dd2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216124.8712785} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:22.618465058Z"}]},"request_id":"cf099dd0-7381-461a-8372-db373590193a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216124.87275} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a88a9c70-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a88b11a0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:43418","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc67a4d4-9e66-448d-bbb4-029c0ebb82e3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd9dcd40-819d-4f16-baec-bb7ebfef8810","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216124.8756926} authorization-1 | {"client_addr":"127.0.0.1:43418","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.321389,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a88b5fc0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"a88b5fc0-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a88a9c70-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3? 200 27ms","method":"GET","requestID":"a88a9c70-4430-11ef-b47c-55a12d3fdb12","responseTime":27,"status":200,"url":"/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a88b11a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/963b9e70-c99c-4916-b3c0-68815a3be9e1? 200 25ms","method":"GET","requestID":"a88b11a0-4430-11ef-b47c-55a12d3fdb12","responseTime":25,"status":200,"url":"/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a88b5fc0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3/signaling 200 24ms","method":"POST","requestID":"a88b5fc0-4430-11ef-b47c-55a12d3fdb12","responseTime":24,"status":200,"url":"/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9ed67e88-ea64-42df-97ae-3b28217b3f0d#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9ed67e88-ea64-42df-97ae-3b28217b3f0d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"fd6e2889-42cd-45c0-8b30-0dc49ca4630b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216124.884317} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"85679310-18ec-4386-b2e4-896405210d31","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216124.88466} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a88f5760-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"6c751a0eb902266994f4b806b478dbff","responseTime":20,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a88fa580-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"client_addr":"127.0.0.1:43406","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc67a4d4-9e66-448d-bbb4-029c0ebb82e3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"79a1487b-c434-453c-8e5a-d67a429c0c01","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216124.892346} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.03594,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a88f5760-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a88f5760-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e928ac2c-f261-4923-b27f-d17f2ba1ecc6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216124.8936732} authorization-1 | {"client_addr":"127.0.0.1:43406","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.906621,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a88fa580-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a88fa580-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"6c751a0eb902266994f4b806b478dbff"} gateway-1 | {"time_local":"17/Jul/2024:11:35:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.177","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6c751a0eb902266994f4b806b478dbff"} experiment-1 | {"level":"info","message":"POST /experiments? 201 170ms","method":"POST","requestID":"6c751a0eb902266994f4b806b478dbff","responseTime":170,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a88f5760-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3/signaling 200 13ms","method":"POST","requestID":"a88f5760-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a88fa580-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/963b9e70-c99c-4916-b3c0-68815a3be9e1/signaling 200 13ms","method":"POST","requestID":"a88fa580-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyNH0.mRBAtN5wZCmCcVYM5pT9-32Qg-uAcgdcNb5cnrm49Iw","level":"info","message":"auth send jwt","requestID":"5720d903b0a3db5c8a1b15dff250d927"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a891ef70-4430-11ef-b47c-55a12d3fdb12"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5720d903b0a3db5c8a1b15dff250d927","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5720d903b0a3db5c8a1b15dff250d927"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"client_addr":"127.0.0.1:43406","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cb6c2de8-df82-420b-8134-b14e5f023667","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216124.9078329} authorization-1 | {"client_addr":"127.0.0.1:43406","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681684,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"5720d903b0a3db5c8a1b15dff250d927","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216124,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyNH0.mRBAtN5wZCmCcVYM5pT9-32Qg-uAcgdcNb5cnrm49Iw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5720d903b0a3db5c8a1b15dff250d927","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.659442,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a891ef70-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a891ef70-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc67a4d4-9e66-448d-bbb4-029c0ebb82e3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc67a4d4-9e66-448d-bbb4-029c0ebb82e3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:22.568578313Z"}]},"request_id":"20b49a90-5284-4c15-8faa-1009c91cd0dd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216124.9122431} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a891ef70-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/963b9e70-c99c-4916-b3c0-68815a3be9e1/signaling 200 10ms","method":"POST","requestID":"a891ef70-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5720d903b0a3db5c8a1b15dff250d927","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"6c751a0eb902266994f4b806b478dbff"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d"},"level":"info","message":"Building connection plan","requestID":"6c751a0eb902266994f4b806b478dbff"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"5469b9d2-4fa8-4143-a21c-c0c7922fc9ec"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"47501f56-0932-4aea-8c32-82107be9ea3d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"2452fd3d-b99e-47f2-904e-a5703947fd95"}]},"level":"info","message":"Built pairwise service configurations","requestID":"6c751a0eb902266994f4b806b478dbff"} 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/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"6c751a0eb902266994f4b806b478dbff"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"a893eb40-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5720d903b0a3db5c8a1b15dff250d927"} gateway-1 | {"time_local":"17/Jul/2024:11:35:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3? 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":"5720d903b0a3db5c8a1b15dff250d927"} device-1 | {"level":"info","message":"GET /devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3? 200 14ms","method":"GET","requestID":"5720d903b0a3db5c8a1b15dff250d927","responseTime":14,"status":200,"url":"/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3?"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.013779,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a893eb40-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216124,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyNH0.mRBAtN5wZCmCcVYM5pT9-32Qg-uAcgdcNb5cnrm49Iw"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyNH0.mRBAtN5wZCmCcVYM5pT9-32Qg-uAcgdcNb5cnrm49Iw","level":"info","message":"auth send jwt","requestID":"310073f688b0e89bcb477b6f0a8b02af"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"310073f688b0e89bcb477b6f0a8b02af","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a893eb40-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"310073f688b0e89bcb477b6f0a8b02af"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.647535,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"310073f688b0e89bcb477b6f0a8b02af","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216124,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyNH0.mRBAtN5wZCmCcVYM5pT9-32Qg-uAcgdcNb5cnrm49Iw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"310073f688b0e89bcb477b6f0a8b02af","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:22.618465058Z"}]},"request_id":"d6485a73-97b9-4421-b64b-89ac6856234d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216124.9319298} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"310073f688b0e89bcb477b6f0a8b02af","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"afb00590-67f3-4cda-b5a9-3d028e8fa9ee","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216124.933392} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f9bb5485-a6dd-401f-a97b-40c1c74b56c9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216124.9336305} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"a893eb40-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"310073f688b0e89bcb477b6f0a8b02af"} gateway-1 | {"time_local":"17/Jul/2024:11:35:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/963b9e70-c99c-4916-b3c0-68815a3be9e1? 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":"310073f688b0e89bcb477b6f0a8b02af"} device-1 | {"level":"info","message":"GET /devices/963b9e70-c99c-4916-b3c0-68815a3be9e1? 200 14ms","method":"GET","requestID":"310073f688b0e89bcb477b6f0a8b02af","responseTime":14,"status":200,"url":"/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"a893eb40-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"a893eb40-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/064a9bdd-24ad-4b7c-8aca-b2f33806067f'","requestID":"a893eb40-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/064a9bdd-24ad-4b7c-8aca-b2f33806067f'","requestID":"a893eb40-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"a893eb40-4430-11ef-b47c-55a12d3fdb12"} 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":"a893eb40-4430-11ef-b47c-55a12d3fdb12","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","requestID":"a893eb40-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/064a9bdd-24ad-4b7c-8aca-b2f33806067f","device":"fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"6c751a0eb902266994f4b806b478dbff"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a89e99a0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc67a4d4-9e66-448d-bbb4-029c0ebb82e3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db3b0c6f-21fa-499c-a20c-0959d4bc64f9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216124.9911928} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.466418,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a89e99a0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"a89e99a0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a89e99a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3/signaling 200 9ms","method":"POST","requestID":"a89e99a0-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a8a06e60-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:25Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a407939a-33e1-432b-b171-59cb75248658","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216125.0032978} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.286323,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a8a06e60-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a8a06e60-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a8a06e60-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/963b9e70-c99c-4916-b3c0-68815a3be9e1/signaling 200 9ms","method":"POST","requestID":"a8a06e60-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1/signaling"} device-1 | {"device":"fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"963b9e70-c99c-4916-b3c0-68815a3be9e1","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"064a9bdd-24ad-4b7c-8aca-b2f33806067f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 6167704184885811188 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:JvCS\r\na=ice-pwd:YmIg/A5pNl1AYjv1zWXcA91s\r\na=ice-options:trickle\r\na=fingerprint:sha-256 F6:2F:A9:94:12:EF:23:D4:9D:35:58:41:21:3D:6B:EA:68:DE:AE:D6:0C:FA:D9:51:F5:C3:1F:B4:63:DD:DF:5E\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"device":"fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:3952992336 1 udp 2113937151 5aefb274-b10e-449b-a7bd-6656b15388f2.local 47536 typ host generation 0 ufrag JvCS network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1873840687 1 udp 1677729535 141.24.211.56 47536 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag JvCS network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"963b9e70-c99c-4916-b3c0-68815a3be9e1","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"963b9e70-c99c-4916-b3c0-68815a3be9e1","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"963b9e70-c99c-4916-b3c0-68815a3be9e1","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/064a9bdd-24ad-4b7c-8aca-b2f33806067f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"064a9bdd-24ad-4b7c-8aca-b2f33806067f","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/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3'"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9376f7bc21140553585d72234281966e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 | {"device":"fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9376f7bc21140553585d72234281966e","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/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/064a9bdd-24ad-4b7c-8aca-b2f33806067f"}}},"level":"info","message":"received a callback","requestID":"9376f7bc21140553585d72234281966e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"9376f7bc21140553585d72234281966e","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:27 +0000","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":"9376f7bc21140553585d72234281966e"} device-1 | {"data":{"peerconnection":"064a9bdd-24ad-4b7c-8aca-b2f33806067f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"963b9e70-c99c-4916-b3c0-68815a3be9e1","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"963b9e70-c99c-4916-b3c0-68815a3be9e1","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"064a9bdd-24ad-4b7c-8aca-b2f33806067f","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/064a9bdd-24ad-4b7c-8aca-b2f33806067f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"064a9bdd-24ad-4b7c-8aca-b2f33806067f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fe5671170f62ced95b1a64859932879d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"fe5671170f62ced95b1a64859932879d","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/064a9bdd-24ad-4b7c-8aca-b2f33806067f"}}},"level":"info","message":"received a callback","requestID":"fe5671170f62ced95b1a64859932879d"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"a9e91b00-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:27Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F064a9bdd-24ad-4b7c-8aca-b2f33806067f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aab899bc-ae66-4e7f-93e6-34c3e28f9ac0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216127.1578417} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.100804,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/064a9bdd-24ad-4b7c-8aca-b2f33806067f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a9e91b00-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/064a9bdd-24ad-4b7c-8aca-b2f33806067f","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","method":"POST","requestID":"a9e91b00-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"a9e91b00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/064a9bdd-24ad-4b7c-8aca-b2f33806067f 200 11ms","method":"GET","requestID":"a9e91b00-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/peerconnections/064a9bdd-24ad-4b7c-8aca-b2f33806067f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 44ms","method":"POST","requestID":"fe5671170f62ced95b1a64859932879d","responseTime":44,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:27 +0000","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":"fe5671170f62ced95b1a64859932879d"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:27Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a9ee4b20-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc67a4d4-9e66-448d-bbb4-029c0ebb82e3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4424a1f2-a9e8-44e3-a96a-3eedd606631d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216127.192144} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.979745,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a9ee4b20-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a9ee4b20-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a9ee4b20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3/signaling 200 12ms","method":"POST","requestID":"a9ee4b20-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a9f09510-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:27Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c9d2ba8-9a74-4919-b265-15fb4e28b139","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216127.2064385} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.505129,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a9f09510-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a9f09510-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a9f09510-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/963b9e70-c99c-4916-b3c0-68815a3be9e1/signaling 200 10ms","method":"POST","requestID":"a9f09510-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyN30.LpDpp9m7crQtTuSSVvHnkjy_TKcP18JMrWATljVJHS0","level":"info","message":"auth send jwt","requestID":"595d7cc65a52921cb3678d5cf2c202c8"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"595d7cc65a52921cb3678d5cf2c202c8","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d","requestID":"595d7cc65a52921cb3678d5cf2c202c8"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.342055,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"595d7cc65a52921cb3678d5cf2c202c8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216127,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyN30.LpDpp9m7crQtTuSSVvHnkjy_TKcP18JMrWATljVJHS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"595d7cc65a52921cb3678d5cf2c202c8","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d","requestID":"595d7cc65a52921cb3678d5cf2c202c8"} experiment-1 | {"level":"info","message":"GET /experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d 200 18ms","method":"GET","requestID":"595d7cc65a52921cb3678d5cf2c202c8","responseTime":18,"status":200,"url":"/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d"} gateway-1 | {"time_local":"17/Jul/2024:11:35:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d 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":"595d7cc65a52921cb3678d5cf2c202c8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyN30.LpDpp9m7crQtTuSSVvHnkjy_TKcP18JMrWATljVJHS0","level":"info","message":"auth send jwt","requestID":"37ae3e84117492d635617e184d238fc3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"37ae3e84117492d635617e184d238fc3","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d","requestID":"37ae3e84117492d635617e184d238fc3"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.586413,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"37ae3e84117492d635617e184d238fc3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216127,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyN30.LpDpp9m7crQtTuSSVvHnkjy_TKcP18JMrWATljVJHS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"37ae3e84117492d635617e184d238fc3","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d"},"level":"info","message":"Attempting to finish experiment","requestID":"37ae3e84117492d635617e184d238fc3"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"aa1952c0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.211934,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/064a9bdd-24ad-4b7c-8aca-b2f33806067f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"aa1952c0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/064a9bdd-24ad-4b7c-8aca-b2f33806067f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216127,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyN30.LpDpp9m7crQtTuSSVvHnkjy_TKcP18JMrWATljVJHS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"aa1952c0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/064a9bdd-24ad-4b7c-8aca-b2f33806067f","device":"fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"963b9e70-c99c-4916-b3c0-68815a3be9e1","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"963b9e70-c99c-4916-b3c0-68815a3be9e1","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"963b9e70-c99c-4916-b3c0-68815a3be9e1","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/064a9bdd-24ad-4b7c-8aca-b2f33806067f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/064a9bdd-24ad-4b7c-8aca-b2f33806067f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"064a9bdd-24ad-4b7c-8aca-b2f33806067f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F064a9bdd-24ad-4b7c-8aca-b2f33806067f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F064a9bdd-24ad-4b7c-8aca-b2f33806067f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"529fe776-b210-4e39-9894-8c486af302b9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216127.492896} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20cbee2d-e97f-42ed-816e-817e0fc966bd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216127.4932427} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2403b819328ca9b56712a8cc141408e4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2403b819328ca9b56712a8cc141408e4","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"89b282f34fc0b9add28a6039a0272ea1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"aa1952c0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"89b282f34fc0b9add28a6039a0272ea1","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/064a9bdd-24ad-4b7c-8aca-b2f33806067f"}}},"level":"info","message":"received a callback","requestID":"2403b819328ca9b56712a8cc141408e4"} 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/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/064a9bdd-24ad-4b7c-8aca-b2f33806067f"}}},"level":"info","message":"received a callback","requestID":"89b282f34fc0b9add28a6039a0272ea1"} device-1 | {"data":{"peerconnection":"064a9bdd-24ad-4b7c-8aca-b2f33806067f","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"aa1952c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/064a9bdd-24ad-4b7c-8aca-b2f33806067f 204 45ms","method":"DELETE","requestID":"aa1952c0-4430-11ef-b47c-55a12d3fdb12","responseTime":45,"status":204,"url":"/peerconnections/064a9bdd-24ad-4b7c-8aca-b2f33806067f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d"},"level":"info","message":"Successfully finished experiment","requestID":"37ae3e84117492d635617e184d238fc3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aa2316c0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:27Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffc67a4d4-9e66-448d-bbb4-029c0ebb82e3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee37d4e3-60d4-441f-88cc-1f14389a1662","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216127.5369241} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.489566,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"aa2316c0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"aa2316c0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aa2316c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3/signaling 200 10ms","method":"POST","requestID":"aa2316c0-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aa251290-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9ed67e88-ea64-42df-97ae-3b28217b3f0d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9ed67e88-ea64-42df-97ae-3b28217b3f0d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"e32a3df8-bb40-4575-9892-3918c02f65f6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216127.5451262} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5e68949a-0e7d-48b0-bd1b-dff53d3c98f9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216127.5455213} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"37ae3e84117492d635617e184d238fc3","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:27Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F963b9e70-c99c-4916-b3c0-68815a3be9e1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8b5c95e7-854e-4b23-b7d5-d5909561ca99","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216127.550151} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.329279,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"aa251290-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"aa251290-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aa251290-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/963b9e70-c99c-4916-b3c0-68815a3be9e1/signaling 200 11ms","method":"POST","requestID":"aa251290-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d","requestID":"37ae3e84117492d635617e184d238fc3"} gateway-1 | {"time_local":"17/Jul/2024:11:35:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d 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":"37ae3e84117492d635617e184d238fc3"} gateway-1 | {"time_local":"17/Jul/2024:11:35:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2582","request_time":"4.436","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"0a5df2eec796b154eab2e44f8b5cfd5e"} experiment-1 | {"level":"info","message":"DELETE /experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d 204 164ms","method":"DELETE","requestID":"37ae3e84117492d635617e184d238fc3","responseTime":164,"status":204,"url":"/experiments/9ed67e88-ea64-42df-97ae-3b28217b3f0d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"2403b819328ca9b56712a8cc141408e4","responseTime":120,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:27 +0000","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":"2403b819328ca9b56712a8cc141408e4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"89b282f34fc0b9add28a6039a0272ea1","responseTime":120,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:27 +0000","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":"89b282f34fc0b9add28a6039a0272ea1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyN30.LpDpp9m7crQtTuSSVvHnkjy_TKcP18JMrWATljVJHS0","level":"info","message":"auth send jwt","requestID":"d5c9f61e67e87465f533eb948aa7df97"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d5c9f61e67e87465f533eb948aa7df97","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d5c9f61e67e87465f533eb948aa7df97"} gateway-1 | {"time_local":"17/Jul/2024:11:35:27 +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.975","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1e35bc66dffd056d86e3d264439477bd"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/963b9e70-c99c-4916-b3c0-68815a3be9e1' closed"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.687181,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d5c9f61e67e87465f533eb948aa7df97","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216127,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyN30.LpDpp9m7crQtTuSSVvHnkjy_TKcP18JMrWATljVJHS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"d5c9f61e67e87465f533eb948aa7df97","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/fc67a4d4-9e66-448d-bbb4-029c0ebb82e3' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0ce311c1-a977-42ee-ba48-c9cab5e2dac6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216127.6449819} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d5c9f61e67e87465f533eb948aa7df97","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d065695a-f073-4ee3-9f51-fca3d7136b71","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216127.650218} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"d5c9f61e67e87465f533eb948aa7df97","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"39204fbf-afe9-4f95-be82-fb736b617c36","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216127.6650686} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cc2f1067-0985-4c2e-90ad-a9b22748b858","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216127.6653056} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"d5c9f61e67e87465f533eb948aa7df97","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:27.665051625Z"}]},"request_id":"af7f206f-7862-4ab7-b897-20244b5b0b1c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216127.6699228} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"d5c9f61e67e87465f533eb948aa7df97","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d5c9f61e67e87465f533eb948aa7df97"} gateway-1 | {"time_local":"17/Jul/2024:11:35:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d5c9f61e67e87465f533eb948aa7df97"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"d5c9f61e67e87465f533eb948aa7df97","responseTime":56,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyN30.LpDpp9m7crQtTuSSVvHnkjy_TKcP18JMrWATljVJHS0","level":"info","message":"auth send jwt","requestID":"444f485994b4d0cd1606674841c24b58"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"444f485994b4d0cd1606674841c24b58","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"444f485994b4d0cd1606674841c24b58"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.842007,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"444f485994b4d0cd1606674841c24b58","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216127,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyN30.LpDpp9m7crQtTuSSVvHnkjy_TKcP18JMrWATljVJHS0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"444f485994b4d0cd1606674841c24b58","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b772198-44f7-451d-95ff-198f87bb1f59","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ce6f0e34-a78f-4cc3-8897-3ba188fc1385","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216127.6989849} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"444f485994b4d0cd1606674841c24b58","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"59c88cc4-5adf-48b3-befd-fb144e729d5a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216127.703623} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"444f485994b4d0cd1606674841c24b58","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b772198-44f7-451d-95ff-198f87bb1f59","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"d033716b-c3b1-4440-bed1-04afbea9088e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216127.714132} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f0c60db0-7366-4951-8247-8847b99c4a05","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216127.7142205} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"444f485994b4d0cd1606674841c24b58","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b772198-44f7-451d-95ff-198f87bb1f59","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b772198-44f7-451d-95ff-198f87bb1f59","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:27.714112515Z"}]},"request_id":"f309eea0-871f-49f5-aca2-e11ac6d83757","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216127.7186735} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"444f485994b4d0cd1606674841c24b58","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"444f485994b4d0cd1606674841c24b58"} gateway-1 | {"time_local":"17/Jul/2024:11:35: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.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"444f485994b4d0cd1606674841c24b58"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"444f485994b4d0cd1606674841c24b58","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyOH0.ORgu3t7YvlRSbtLeNc1Q8gUAs8obbUB9KJNhSEo8qQw","level":"info","message":"auth send jwt","requestID":"5220d43089c9b0f41ce4bf1eea9d3367"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5220d43089c9b0f41ce4bf1eea9d3367","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"5220d43089c9b0f41ce4bf1eea9d3367"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.175141,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"5220d43089c9b0f41ce4bf1eea9d3367","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216128,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyOH0.ORgu3t7YvlRSbtLeNc1Q8gUAs8obbUB9KJNhSEo8qQw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5220d43089c9b0f41ce4bf1eea9d3367","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:27.665051625Z"}]},"request_id":"f4c7216a-8ea1-47b9-893f-a15628cb95ca","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216128.2137218} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5220d43089c9b0f41ce4bf1eea9d3367","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e188dfcb-a2d9-4600-90f7-863cb1e671e4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216128.2202907} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"5220d43089c9b0f41ce4bf1eea9d3367","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:27.665051625Z"}]},"request_id":"45181dc3-0ff1-4dc5-8372-7ae1f8093acf","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216128.2344353} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"5220d43089c9b0f41ce4bf1eea9d3367","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"5220d43089c9b0f41ce4bf1eea9d3367"} gateway-1 | {"time_local":"17/Jul/2024:11:35:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774 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":"5220d43089c9b0f41ce4bf1eea9d3367"} device-1 | {"level":"info","message":"PATCH /devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774 200 39ms","method":"PATCH","requestID":"5220d43089c9b0f41ce4bf1eea9d3367","responseTime":39,"status":200,"url":"/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyOH0.ORgu3t7YvlRSbtLeNc1Q8gUAs8obbUB9KJNhSEo8qQw","level":"info","message":"auth send jwt","requestID":"af6d011b19041f511012a82e6de43c5c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"af6d011b19041f511012a82e6de43c5c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"af6d011b19041f511012a82e6de43c5c"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.33677,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"af6d011b19041f511012a82e6de43c5c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216128,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyOH0.ORgu3t7YvlRSbtLeNc1Q8gUAs8obbUB9KJNhSEo8qQw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"af6d011b19041f511012a82e6de43c5c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"af6d011b19041f511012a82e6de43c5c"} gateway-1 | {"time_local":"17/Jul/2024:11:35:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774/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":"af6d011b19041f511012a82e6de43c5c"} device-1 | {"level":"info","message":"POST /devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774/websocket 200 22ms","method":"POST","requestID":"af6d011b19041f511012a82e6de43c5c","responseTime":22,"status":200,"url":"/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b95346dd61beecb839e784ed15605fd6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b95346dd61beecb839e784ed15605fd6","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:35:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9b772198-44f7-451d-95ff-198f87bb1f59/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":"b95346dd61beecb839e784ed15605fd6"} device-1 | {"level":"info","message":"OPTIONS /devices/9b772198-44f7-451d-95ff-198f87bb1f59/websocket 200 1ms","method":"OPTIONS","requestID":"b95346dd61beecb839e784ed15605fd6","responseTime":1,"status":200,"url":"/devices/9b772198-44f7-451d-95ff-198f87bb1f59/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyOX0.46-DulJGEAO2scaA2_AKR_mbJhKxZA4lr328iFJR3Y0","level":"info","message":"auth send jwt","requestID":"d5a895a3472924be39f5e1a643edff74"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d5a895a3472924be39f5e1a643edff74","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d5a895a3472924be39f5e1a643edff74"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.309223,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d5a895a3472924be39f5e1a643edff74","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216129,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyOX0.46-DulJGEAO2scaA2_AKR_mbJhKxZA4lr328iFJR3Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d5a895a3472924be39f5e1a643edff74","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d5a895a3472924be39f5e1a643edff74"} device-1 | {"level":"info","message":"POST /devices/9b772198-44f7-451d-95ff-198f87bb1f59/websocket 200 25ms","method":"POST","requestID":"d5a895a3472924be39f5e1a643edff74","responseTime":25,"status":200,"url":"/devices/9b772198-44f7-451d-95ff-198f87bb1f59/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:35:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9b772198-44f7-451d-95ff-198f87bb1f59/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":"d5a895a3472924be39f5e1a643edff74"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyOX0.46-DulJGEAO2scaA2_AKR_mbJhKxZA4lr328iFJR3Y0","level":"info","message":"auth send jwt","requestID":"4416875f27ce068e838b07c8955c52d1"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4416875f27ce068e838b07c8955c52d1","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4416875f27ce068e838b07c8955c52d1"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.047795,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"4416875f27ce068e838b07c8955c52d1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216129,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyOX0.46-DulJGEAO2scaA2_AKR_mbJhKxZA4lr328iFJR3Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4416875f27ce068e838b07c8955c52d1","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:27.665051625Z"}]},"request_id":"8f4622ab-5701-4800-8779-9b1a1e2255ef","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216129.7522101} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4416875f27ce068e838b07c8955c52d1","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4416875f27ce068e838b07c8955c52d1"} gateway-1 | {"time_local":"17/Jul/2024:11:35:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774? 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":"4416875f27ce068e838b07c8955c52d1"} device-1 | {"level":"info","message":"GET /devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774? 200 17ms","method":"GET","requestID":"4416875f27ce068e838b07c8955c52d1","responseTime":17,"status":200,"url":"/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyOX0.46-DulJGEAO2scaA2_AKR_mbJhKxZA4lr328iFJR3Y0","level":"info","message":"auth send jwt","requestID":"5bf34b857932ad5e1ef0a8ee9672baa9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5bf34b857932ad5e1ef0a8ee9672baa9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5bf34b857932ad5e1ef0a8ee9672baa9"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.131012,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"5bf34b857932ad5e1ef0a8ee9672baa9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216129,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyOX0.46-DulJGEAO2scaA2_AKR_mbJhKxZA4lr328iFJR3Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5bf34b857932ad5e1ef0a8ee9672baa9","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b772198-44f7-451d-95ff-198f87bb1f59","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b772198-44f7-451d-95ff-198f87bb1f59","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:27.714112515Z"}]},"request_id":"168f41df-4f99-42e5-8bb1-a51f4a9d9509","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216129.779089} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"5bf34b857932ad5e1ef0a8ee9672baa9","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5bf34b857932ad5e1ef0a8ee9672baa9"} gateway-1 | {"time_local":"17/Jul/2024:11:35:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9b772198-44f7-451d-95ff-198f87bb1f59? 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":"5bf34b857932ad5e1ef0a8ee9672baa9"} device-1 | {"level":"info","message":"GET /devices/9b772198-44f7-451d-95ff-198f87bb1f59? 200 23ms","method":"GET","requestID":"5bf34b857932ad5e1ef0a8ee9672baa9","responseTime":23,"status":200,"url":"/devices/9b772198-44f7-451d-95ff-198f87bb1f59?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyOX0.46-DulJGEAO2scaA2_AKR_mbJhKxZA4lr328iFJR3Y0","level":"info","message":"auth send jwt","requestID":"bb755e34d2e4745699ac3ff397da07c7"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"bb755e34d2e4745699ac3ff397da07c7","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"bb755e34d2e4745699ac3ff397da07c7"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.262689,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bb755e34d2e4745699ac3ff397da07c7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216129,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyOX0.46-DulJGEAO2scaA2_AKR_mbJhKxZA4lr328iFJR3Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bb755e34d2e4745699ac3ff397da07c7","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826"},"level":"info","message":"Attempting to run experiment","requestID":"bb755e34d2e4745699ac3ff397da07c7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826"},"level":"info","message":"Attempting to book experiment","requestID":"bb755e34d2e4745699ac3ff397da07c7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826"},"level":"info","message":"Successfully booked experiment","requestID":"bb755e34d2e4745699ac3ff397da07c7"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ab83b830-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ab840650-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.095932,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ab83b830-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216129,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyOX0.46-DulJGEAO2scaA2_AKR_mbJhKxZA4lr328iFJR3Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"ab83b830-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.714746,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ab840650-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216129,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyOX0.46-DulJGEAO2scaA2_AKR_mbJhKxZA4lr328iFJR3Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"ab840650-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:27.665051625Z"}]},"request_id":"0966528e-2d19-475c-a989-391cae23ee13","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216129.8576348} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"ab83b830-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b772198-44f7-451d-95ff-198f87bb1f59","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b772198-44f7-451d-95ff-198f87bb1f59","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:27.714112515Z"}]},"request_id":"d2089246-cfb9-46de-88b2-b09f7dffd3c9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216129.8656743} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ab83b830-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"ab840650-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774? 200 25ms","method":"GET","requestID":"ab83b830-4430-11ef-b47c-55a12d3fdb12","responseTime":25,"status":200,"url":"/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ab840650-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/9b772198-44f7-451d-95ff-198f87bb1f59? 200 29ms","method":"GET","requestID":"ab840650-4430-11ef-b47c-55a12d3fdb12","responseTime":29,"status":200,"url":"/devices/9b772198-44f7-451d-95ff-198f87bb1f59?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826"},"level":"info","message":"Setting up experiment","requestID":"bb755e34d2e4745699ac3ff397da07c7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"bb755e34d2e4745699ac3ff397da07c7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826"},"level":"info","message":"Successfully locked booking for experiment","requestID":"bb755e34d2e4745699ac3ff397da07c7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"bb755e34d2e4745699ac3ff397da07c7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"bb755e34d2e4745699ac3ff397da07c7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826"},"level":"info","message":"Attempting to update booking for experiment","requestID":"bb755e34d2e4745699ac3ff397da07c7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826"},"level":"info","message":"Successfully updated booking for experiment","requestID":"bb755e34d2e4745699ac3ff397da07c7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826"},"level":"info","message":"Successfully set up experiment","requestID":"bb755e34d2e4745699ac3ff397da07c7"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ab908970-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ab90fea0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:29Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ab919ae0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.759429,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:29Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826"},"level":"info","message":"Successfully running experiment","requestID":"bb755e34d2e4745699ac3ff397da07c7"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ab908970-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216129,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyOX0.46-DulJGEAO2scaA2_AKR_mbJhKxZA4lr328iFJR3Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ab908970-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.035171,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ab90fea0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216129,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyOX0.46-DulJGEAO2scaA2_AKR_mbJhKxZA4lr328iFJR3Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ab90fea0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c00e0c6c-43a9-4a0f-bfca-97d0f20ceada","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216129.9437406} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b772198-44f7-451d-95ff-198f87bb1f59","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b772198-44f7-451d-95ff-198f87bb1f59","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:27.714112515Z"}]},"request_id":"1b2da6d0-922a-4223-bdaa-e613083dc968","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216129.946299} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.094189,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ab919ae0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"ab919ae0-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"ab90fea0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:27.665051625Z"}]},"request_id":"5b5d4359-2e81-4fb6-8df1-071e51818488","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216129.9477375} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"ab908970-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ab919ae0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774/signaling 200 25ms","method":"POST","requestID":"ab919ae0-4430-11ef-b47c-55a12d3fdb12","responseTime":25,"status":200,"url":"/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ab90fea0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/9b772198-44f7-451d-95ff-198f87bb1f59? 200 31ms","method":"GET","requestID":"ab90fea0-4430-11ef-b47c-55a12d3fdb12","responseTime":31,"status":200,"url":"/devices/9b772198-44f7-451d-95ff-198f87bb1f59?"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd006536f-c615-40d2-a8af-df2d9ab97826#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd006536f-c615-40d2-a8af-df2d9ab97826","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"f6cc12d1-6ca7-4349-8f54-b4123d3a63e9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216129.9616423} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ab908970-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fb5409a6-e892-4156-9d62-3690fff7782e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216129.961903} device-1 | {"level":"info","message":"GET /devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774? 200 35ms","method":"GET","requestID":"ab908970-4430-11ef-b47c-55a12d3fdb12","responseTime":35,"status":200,"url":"/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"bb755e34d2e4745699ac3ff397da07c7","responseTime":22,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ab9607b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ab96cb00-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b772198-44f7-451d-95ff-198f87bb1f59","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"77f2e7f6-d7f5-46b6-a240-0bba071187ac","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216129.9716523} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.06144,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ab9607b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"ab9607b0-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c185899-8bb1-4d18-a29d-9163bdacda4b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216129.975682} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.681384,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ab96cb00-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"ab96cb00-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"bb755e34d2e4745699ac3ff397da07c7"} gateway-1 | {"time_local":"17/Jul/2024:11:35:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bb755e34d2e4745699ac3ff397da07c7"} experiment-1 | {"level":"info","message":"POST /experiments? 201 184ms","method":"POST","requestID":"bb755e34d2e4745699ac3ff397da07c7","responseTime":184,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ab9607b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/9b772198-44f7-451d-95ff-198f87bb1f59/signaling 200 18ms","method":"POST","requestID":"ab9607b0-4430-11ef-b47c-55a12d3fdb12","responseTime":18,"status":200,"url":"/devices/9b772198-44f7-451d-95ff-198f87bb1f59/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ab96cb00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774/signaling 200 15ms","method":"POST","requestID":"ab96cb00-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyOX0.46-DulJGEAO2scaA2_AKR_mbJhKxZA4lr328iFJR3Y0","level":"info","message":"auth send jwt","requestID":"b145dec431020004c29f5500298e3d16"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ab998a20-4430-11ef-b47c-55a12d3fdb12"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b145dec431020004c29f5500298e3d16","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b145dec431020004c29f5500298e3d16"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b772198-44f7-451d-95ff-198f87bb1f59","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f66b104d-e8a0-4fa2-98b3-bca59d076476","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216129.9916332} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.82287,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.94692,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ab998a20-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ab998a20-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b145dec431020004c29f5500298e3d16","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216129,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyOX0.46-DulJGEAO2scaA2_AKR_mbJhKxZA4lr328iFJR3Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b145dec431020004c29f5500298e3d16","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ab998a20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/9b772198-44f7-451d-95ff-198f87bb1f59/signaling 200 11ms","method":"POST","requestID":"ab998a20-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/9b772198-44f7-451d-95ff-198f87bb1f59/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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:27.665051625Z"}]},"request_id":"dadbc0bb-97e0-4417-b743-8b61859a8e86","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216129.997979} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"bb755e34d2e4745699ac3ff397da07c7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826"},"level":"info","message":"Building connection plan","requestID":"bb755e34d2e4745699ac3ff397da07c7"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b145dec431020004c29f5500298e3d16","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"ae794a6a-8d09-45ac-b3ea-5498511aae36"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"b3aa8f4c-5d11-4bbc-bb51-7e115211097c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"314c17b5-5851-42d0-a499-e70a0e664a68"}]},"level":"info","message":"Built pairwise service configurations","requestID":"bb755e34d2e4745699ac3ff397da07c7"} 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/9b772198-44f7-451d-95ff-198f87bb1f59"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"bb755e34d2e4745699ac3ff397da07c7"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"ab9bfb20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b145dec431020004c29f5500298e3d16"} gateway-1 | {"time_local":"17/Jul/2024:11:35:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774? 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":"b145dec431020004c29f5500298e3d16"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:30Z"} device-1 | {"level":"info","message":"GET /devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774? 200 17ms","method":"GET","requestID":"b145dec431020004c29f5500298e3d16","responseTime":17,"status":200,"url":"/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774?"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.956187,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ab9bfb20-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216129,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEyOX0.46-DulJGEAO2scaA2_AKR_mbJhKxZA4lr328iFJR3Y0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ab9bfb20-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzMH0.IR2gdUhsDCBYQm671Se5hvottqmkZi3uPEH02Dc2njg","level":"info","message":"auth send jwt","requestID":"ebf33d8a71d0166fd5bda3d01af199b6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ebf33d8a71d0166fd5bda3d01af199b6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ebf33d8a71d0166fd5bda3d01af199b6"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.203574,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ebf33d8a71d0166fd5bda3d01af199b6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216130,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzMH0.IR2gdUhsDCBYQm671Se5hvottqmkZi3uPEH02Dc2njg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ebf33d8a71d0166fd5bda3d01af199b6","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"e2b04c57-d6e1-4eec-b8eb-bc1b8ea7e814","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216130.0208154} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d666b183-c4f1-45ce-84e6-b2699eddeafd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216130.020955} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b772198-44f7-451d-95ff-198f87bb1f59","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b772198-44f7-451d-95ff-198f87bb1f59","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:27.714112515Z"}]},"request_id":"8e58e9af-4ae4-4354-9bf8-f21e7f654f02","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216130.0216393} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"ab9bfb20-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ebf33d8a71d0166fd5bda3d01af199b6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ebf33d8a71d0166fd5bda3d01af199b6"} gateway-1 | {"time_local":"17/Jul/2024:11:35:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9b772198-44f7-451d-95ff-198f87bb1f59? 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":"ebf33d8a71d0166fd5bda3d01af199b6"} device-1 | {"level":"info","message":"GET /devices/9b772198-44f7-451d-95ff-198f87bb1f59? 200 13ms","method":"GET","requestID":"ebf33d8a71d0166fd5bda3d01af199b6","responseTime":13,"status":200,"url":"/devices/9b772198-44f7-451d-95ff-198f87bb1f59?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"ab9bfb20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"ab9bfb20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1b5770bf-c035-474b-84d2-f7b08a3fd310'","requestID":"ab9bfb20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1b5770bf-c035-474b-84d2-f7b08a3fd310'","requestID":"ab9bfb20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"ab9bfb20-4430-11ef-b47c-55a12d3fdb12"} 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":"ab9bfb20-4430-11ef-b47c-55a12d3fdb12","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","requestID":"ab9bfb20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/1b5770bf-c035-474b-84d2-f7b08a3fd310","device":"9b772198-44f7-451d-95ff-198f87bb1f59","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"bb755e34d2e4745699ac3ff397da07c7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aba522e0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:30Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5968493f-5939-4062-b414-6a79b80d2b66","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216130.0676656} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.44719,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"aba522e0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"aba522e0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aba522e0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774/signaling 200 9ms","method":"POST","requestID":"aba522e0-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aba6d090-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:30Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b772198-44f7-451d-95ff-198f87bb1f59","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23fc29de-ad85-4c13-a9e8-b3a8de3d55b4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216130.0800605} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.627544,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"aba6d090-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"aba6d090-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aba6d090-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/9b772198-44f7-451d-95ff-198f87bb1f59/signaling 200 11ms","method":"POST","requestID":"aba6d090-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/9b772198-44f7-451d-95ff-198f87bb1f59/signaling"} device-1 | {"device":"9b772198-44f7-451d-95ff-198f87bb1f59","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"9b772198-44f7-451d-95ff-198f87bb1f59","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"8e7f9382-0c3d-4d20-9b03-9fe22763d774","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"1b5770bf-c035-474b-84d2-f7b08a3fd310","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 3087786277178923647 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:Rw3P\r\na=ice-pwd:CJJqngolwvRPu4n0ZXrotnid\r\na=ice-options:trickle\r\na=fingerprint:sha-256 38:0F:EB:05:E6:AB:CF:47:C9:FA:D7:7B:A2:A5:CB:B5:9A:E2:2C:06:83:18:E7:D1:10:D2:7C:CB:08:D9:CF:33\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"9b772198-44f7-451d-95ff-198f87bb1f59","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:4193846215 1 udp 2113937151 48bc4a8d-0c28-4d3e-ab24-fc86aaa2e452.local 49710 typ host generation 0 ufrag Rw3P network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"9b772198-44f7-451d-95ff-198f87bb1f59","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"9b772198-44f7-451d-95ff-198f87bb1f59","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"8e7f9382-0c3d-4d20-9b03-9fe22763d774","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8e7f9382-0c3d-4d20-9b03-9fe22763d774","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8e7f9382-0c3d-4d20-9b03-9fe22763d774","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"content":{"candidate":"candidate:1792189140 1 udp 1677729535 141.24.211.56 49710 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag Rw3P network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"9b772198-44f7-451d-95ff-198f87bb1f59","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1b5770bf-c035-474b-84d2-f7b08a3fd310' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1b5770bf-c035-474b-84d2-f7b08a3fd310","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"9b772198-44f7-451d-95ff-198f87bb1f59","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59'"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9c2d8c4adad57bf287a52c60a402b7df","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9c2d8c4adad57bf287a52c60a402b7df","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1b5770bf-c035-474b-84d2-f7b08a3fd310"}}},"level":"info","message":"received a callback","requestID":"9c2d8c4adad57bf287a52c60a402b7df"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"9c2d8c4adad57bf287a52c60a402b7df","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"9c2d8c4adad57bf287a52c60a402b7df"} device-1 | {"data":{"peerconnection":"1b5770bf-c035-474b-84d2-f7b08a3fd310","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8e7f9382-0c3d-4d20-9b03-9fe22763d774","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9b772198-44f7-451d-95ff-198f87bb1f59","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"1b5770bf-c035-474b-84d2-f7b08a3fd310","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8e7f9382-0c3d-4d20-9b03-9fe22763d774","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9b772198-44f7-451d-95ff-198f87bb1f59","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1b5770bf-c035-474b-84d2-f7b08a3fd310' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1b5770bf-c035-474b-84d2-f7b08a3fd310","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6d42d19302976969aa72647f7bf53fe4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"6d42d19302976969aa72647f7bf53fe4","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/9b772198-44f7-451d-95ff-198f87bb1f59"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1b5770bf-c035-474b-84d2-f7b08a3fd310"}}},"level":"info","message":"received a callback","requestID":"6d42d19302976969aa72647f7bf53fe4"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"acf01970-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:32Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1b5770bf-c035-474b-84d2-f7b08a3fd310","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f6639fd0-08b7-40df-b884-1c723cc65fa3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216132.2378995} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.466029,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1b5770bf-c035-474b-84d2-f7b08a3fd310","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"acf01970-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1b5770bf-c035-474b-84d2-f7b08a3fd310","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","method":"POST","requestID":"acf01970-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"acf01970-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/1b5770bf-c035-474b-84d2-f7b08a3fd310 200 13ms","method":"GET","requestID":"acf01970-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/peerconnections/1b5770bf-c035-474b-84d2-f7b08a3fd310"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 42ms","method":"POST","requestID":"6d42d19302976969aa72647f7bf53fe4","responseTime":42,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"6d42d19302976969aa72647f7bf53fe4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"acf52280-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:32Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b772198-44f7-451d-95ff-198f87bb1f59","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7cf6b7ca-948f-4879-ba5b-b399ef33244f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216132.2692406} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.497743,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"acf52280-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"acf52280-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"acf52280-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/9b772198-44f7-451d-95ff-198f87bb1f59/signaling 200 10ms","method":"POST","requestID":"acf52280-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/9b772198-44f7-451d-95ff-198f87bb1f59/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"acf6f740-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:32Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"73adbb8f-0776-470c-bd81-bbb763972e5b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216132.2811575} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.810734,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"acf6f740-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"acf6f740-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"acf6f740-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774/signaling 200 12ms","method":"POST","requestID":"acf6f740-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzMn0.-vL0TiSweKtwWvbBAxr76CLY9yvrw79L864xhJ5vJ1s","level":"info","message":"auth send jwt","requestID":"8caf5eaad271decb8ce17b7608188413"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8caf5eaad271decb8ce17b7608188413","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d006536f-c615-40d2-a8af-df2d9ab97826","requestID":"8caf5eaad271decb8ce17b7608188413"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.23564,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"8caf5eaad271decb8ce17b7608188413","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216132,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzMn0.-vL0TiSweKtwWvbBAxr76CLY9yvrw79L864xhJ5vJ1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"8caf5eaad271decb8ce17b7608188413","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d006536f-c615-40d2-a8af-df2d9ab97826","requestID":"8caf5eaad271decb8ce17b7608188413"} gateway-1 | {"time_local":"17/Jul/2024:11:35:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d006536f-c615-40d2-a8af-df2d9ab97826 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8caf5eaad271decb8ce17b7608188413"} experiment-1 | {"level":"info","message":"GET /experiments/d006536f-c615-40d2-a8af-df2d9ab97826 200 19ms","method":"GET","requestID":"8caf5eaad271decb8ce17b7608188413","responseTime":19,"status":200,"url":"/experiments/d006536f-c615-40d2-a8af-df2d9ab97826"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzMn0.-vL0TiSweKtwWvbBAxr76CLY9yvrw79L864xhJ5vJ1s","level":"info","message":"auth send jwt","requestID":"62a3912296ac3e034adf1c5b3102dc09"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"62a3912296ac3e034adf1c5b3102dc09","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d006536f-c615-40d2-a8af-df2d9ab97826","requestID":"62a3912296ac3e034adf1c5b3102dc09"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.236761,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"62a3912296ac3e034adf1c5b3102dc09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216132,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzMn0.-vL0TiSweKtwWvbBAxr76CLY9yvrw79L864xhJ5vJ1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"62a3912296ac3e034adf1c5b3102dc09","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826"},"level":"info","message":"Attempting to finish experiment","requestID":"62a3912296ac3e034adf1c5b3102dc09"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"ad17ecc0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.304279,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1b5770bf-c035-474b-84d2-f7b08a3fd310","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ad17ecc0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/1b5770bf-c035-474b-84d2-f7b08a3fd310","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216132,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzMn0.-vL0TiSweKtwWvbBAxr76CLY9yvrw79L864xhJ5vJ1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ad17ecc0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/1b5770bf-c035-474b-84d2-f7b08a3fd310","device":"9b772198-44f7-451d-95ff-198f87bb1f59","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"8e7f9382-0c3d-4d20-9b03-9fe22763d774","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8e7f9382-0c3d-4d20-9b03-9fe22763d774","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8e7f9382-0c3d-4d20-9b03-9fe22763d774","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1b5770bf-c035-474b-84d2-f7b08a3fd310' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1b5770bf-c035-474b-84d2-f7b08a3fd310' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1b5770bf-c035-474b-84d2-f7b08a3fd310","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1b5770bf-c035-474b-84d2-f7b08a3fd310': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1b5770bf-c035-474b-84d2-f7b08a3fd310","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"5cbd472d-565d-4783-bef1-b7e9de746ec8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216132.5156627} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d36eef292d42cea79bf19345b34e70ea","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d36eef292d42cea79bf19345b34e70ea","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:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5be457d-e32c-4159-af4a-a1044ce1c35d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216132.5160375} 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/9b772198-44f7-451d-95ff-198f87bb1f59"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1b5770bf-c035-474b-84d2-f7b08a3fd310"}}},"level":"info","message":"received a callback","requestID":"d36eef292d42cea79bf19345b34e70ea"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"ad17ecc0-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"eede0d1069da446dbc8260a779e4b8b1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"eede0d1069da446dbc8260a779e4b8b1","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1b5770bf-c035-474b-84d2-f7b08a3fd310"}}},"level":"info","message":"received a callback","requestID":"eede0d1069da446dbc8260a779e4b8b1"} device-1 | {"data":{"peerconnection":"1b5770bf-c035-474b-84d2-f7b08a3fd310","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"ad17ecc0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/1b5770bf-c035-474b-84d2-f7b08a3fd310 204 46ms","method":"DELETE","requestID":"ad17ecc0-4430-11ef-b47c-55a12d3fdb12","responseTime":46,"status":204,"url":"/peerconnections/1b5770bf-c035-474b-84d2-f7b08a3fd310"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d006536f-c615-40d2-a8af-df2d9ab97826"},"level":"info","message":"Successfully finished experiment","requestID":"62a3912296ac3e034adf1c5b3102dc09"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ad21b0c0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:32Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b772198-44f7-451d-95ff-198f87bb1f59","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f6ea7ec0-82a5-41b1-824b-ef68cf788e23","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216132.5641434} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.606048,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ad21b0c0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"ad21b0c0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ad21b0c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/9b772198-44f7-451d-95ff-198f87bb1f59/signaling 200 15ms","method":"POST","requestID":"ad21b0c0-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/9b772198-44f7-451d-95ff-198f87bb1f59/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd006536f-c615-40d2-a8af-df2d9ab97826': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd006536f-c615-40d2-a8af-df2d9ab97826","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"75a35848-15d4-407b-b8dc-4198add52a89","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216132.5728326} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ad2448d0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"23d1f0b7-c671-478b-8e7d-f13ad2a51f84","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216132.5732942} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"62a3912296ac3e034adf1c5b3102dc09","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:32Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e7f9382-0c3d-4d20-9b03-9fe22763d774","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"52c230c7-755a-494b-a0f0-7e2dfad867f3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216132.5786643} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.501364,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ad2448d0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ad2448d0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ad2448d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774/signaling 200 11ms","method":"POST","requestID":"ad2448d0-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d006536f-c615-40d2-a8af-df2d9ab97826","requestID":"62a3912296ac3e034adf1c5b3102dc09"} gateway-1 | {"time_local":"17/Jul/2024:11:35:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d006536f-c615-40d2-a8af-df2d9ab97826 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":"62a3912296ac3e034adf1c5b3102dc09"} gateway-1 | {"time_local":"17/Jul/2024:11:35:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2582","request_time":"4.371","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d0686097f3298468f066f8a73013cb63"} experiment-1 | {"level":"info","message":"DELETE /experiments/d006536f-c615-40d2-a8af-df2d9ab97826 204 166ms","method":"DELETE","requestID":"62a3912296ac3e034adf1c5b3102dc09","responseTime":166,"status":204,"url":"/experiments/d006536f-c615-40d2-a8af-df2d9ab97826"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 126ms","method":"POST","requestID":"d36eef292d42cea79bf19345b34e70ea","responseTime":126,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"d36eef292d42cea79bf19345b34e70ea"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"eede0d1069da446dbc8260a779e4b8b1","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"eede0d1069da446dbc8260a779e4b8b1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzMn0.-vL0TiSweKtwWvbBAxr76CLY9yvrw79L864xhJ5vJ1s","level":"info","message":"auth send jwt","requestID":"b21121ee86f32b626744802d6d456d94"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b21121ee86f32b626744802d6d456d94","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b21121ee86f32b626744802d6d456d94"} gateway-1 | {"time_local":"17/Jul/2024:11:35:32 +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.932","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"381c68dbb4259997e076dd35bca6aa3b"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:32Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8e7f9382-0c3d-4d20-9b03-9fe22763d774' closed"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.803777,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b21121ee86f32b626744802d6d456d94","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216132,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzMn0.-vL0TiSweKtwWvbBAxr76CLY9yvrw79L864xhJ5vJ1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b21121ee86f32b626744802d6d456d94","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9b772198-44f7-451d-95ff-198f87bb1f59' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ab82e520-88f8-4684-9ee2-3061dfeaf628","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216132.671786} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b21121ee86f32b626744802d6d456d94","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c5e7bc8f-9223-40b1-82e7-9caaa02ef36b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216132.6779845} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b21121ee86f32b626744802d6d456d94","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"385cd97b-67fa-4e72-98d6-7c715517fdee","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216132.6892977} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"46b9d5f3-1584-4ac8-9444-0c357ba22d3a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216132.6894717} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"b21121ee86f32b626744802d6d456d94","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:32.689278608Z"}]},"request_id":"3cebf62d-e9be-4385-99fa-a5b2be89f1c5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216132.6943867} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b21121ee86f32b626744802d6d456d94","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b21121ee86f32b626744802d6d456d94"} gateway-1 | {"time_local":"17/Jul/2024:11:35:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b21121ee86f32b626744802d6d456d94"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"b21121ee86f32b626744802d6d456d94","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzMn0.-vL0TiSweKtwWvbBAxr76CLY9yvrw79L864xhJ5vJ1s","level":"info","message":"auth send jwt","requestID":"01c4432a98ea466bedfc7e9e30406d50"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"01c4432a98ea466bedfc7e9e30406d50","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"01c4432a98ea466bedfc7e9e30406d50"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.733139,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"01c4432a98ea466bedfc7e9e30406d50","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216132,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzMn0.-vL0TiSweKtwWvbBAxr76CLY9yvrw79L864xhJ5vJ1s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"01c4432a98ea466bedfc7e9e30406d50","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"eae7e95e-abac-47a7-871d-7fd640836656","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216132.725072} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"01c4432a98ea466bedfc7e9e30406d50","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f0404a4b-3059-4d92-ba4e-36b9f73c04f7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216132.73017} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"01c4432a98ea466bedfc7e9e30406d50","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"56f10a06-d1eb-4106-adc0-00330310cf12","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216132.7422104} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c67a547c-cdc8-48e4-a1e8-aff2c66463b0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216132.7423425} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"01c4432a98ea466bedfc7e9e30406d50","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:32.742192097Z"}]},"request_id":"e4435531-e4f0-4410-b449-f0f6e01214d2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216132.7476947} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"01c4432a98ea466bedfc7e9e30406d50","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"01c4432a98ea466bedfc7e9e30406d50"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"01c4432a98ea466bedfc7e9e30406d50","responseTime":48,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"17/Jul/2024:11:35:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"01c4432a98ea466bedfc7e9e30406d50"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc","level":"info","message":"auth send jwt","requestID":"878d0ee702907f91b42beb0d9dc35f76"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"878d0ee702907f91b42beb0d9dc35f76","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc","level":"info","message":"auth send jwt","requestID":"7776a70693dc3f0b4adc18067f02e0ce"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7776a70693dc3f0b4adc18067f02e0ce","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"878d0ee702907f91b42beb0d9dc35f76"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"7776a70693dc3f0b4adc18067f02e0ce"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.911376,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"878d0ee702907f91b42beb0d9dc35f76","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216133,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"878d0ee702907f91b42beb0d9dc35f76","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.594317,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"7776a70693dc3f0b4adc18067f02e0ce","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216133,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7776a70693dc3f0b4adc18067f02e0ce","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:32.689278608Z"}]},"request_id":"36912073-72d5-4930-8aa5-798c24aafa0d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.2315075} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"878d0ee702907f91b42beb0d9dc35f76","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:32.742192097Z"}]},"request_id":"4e23011d-2992-489d-8d32-7c3bd2a17ef6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.23238} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7776a70693dc3f0b4adc18067f02e0ce","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"87cafaa5-8309-4739-923a-c2d218b44f2e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.2373216} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"878d0ee702907f91b42beb0d9dc35f76","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c564cb91-7588-45f1-ae47-125394dab7f3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.2393627} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"7776a70693dc3f0b4adc18067f02e0ce","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:32.742192097Z"}]},"request_id":"b76eec33-73b7-4bb9-b48d-6a78e550bb0d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.2421498} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7776a70693dc3f0b4adc18067f02e0ce","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"7776a70693dc3f0b4adc18067f02e0ce"} gateway-1 | {"time_local":"17/Jul/2024:11:35:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc 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":"7776a70693dc3f0b4adc18067f02e0ce"} device-1 | {"level":"info","message":"PATCH /devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc 200 22ms","method":"PATCH","requestID":"7776a70693dc3f0b4adc18067f02e0ce","responseTime":22,"status":200,"url":"/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc","level":"info","message":"auth send jwt","requestID":"cd6fd741a65c0c5af584a0407cc5b996"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cd6fd741a65c0c5af584a0407cc5b996","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"cd6fd741a65c0c5af584a0407cc5b996"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.857159,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cd6fd741a65c0c5af584a0407cc5b996","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216133,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cd6fd741a65c0c5af584a0407cc5b996","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:32.689278608Z"}]},"request_id":"62f44324-b4fe-436f-b88f-01afb8984ecc","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.2550955} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"878d0ee702907f91b42beb0d9dc35f76","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"878d0ee702907f91b42beb0d9dc35f76"} gateway-1 | {"time_local":"17/Jul/2024:11:35:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542 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":"878d0ee702907f91b42beb0d9dc35f76"} device-1 | {"level":"info","message":"PATCH /devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542 200 37ms","method":"PATCH","requestID":"878d0ee702907f91b42beb0d9dc35f76","responseTime":37,"status":200,"url":"/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc","level":"info","message":"auth send jwt","requestID":"0da6d1684084639f6956ff6047789a66"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0da6d1684084639f6956ff6047789a66","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0da6d1684084639f6956ff6047789a66"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.670416,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"0da6d1684084639f6956ff6047789a66","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216133,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0da6d1684084639f6956ff6047789a66","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"cd6fd741a65c0c5af584a0407cc5b996"} gateway-1 | {"time_local":"17/Jul/2024:11:35:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc/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":"cd6fd741a65c0c5af584a0407cc5b996"} device-1 | {"level":"info","message":"POST /devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc/websocket 200 20ms","method":"POST","requestID":"cd6fd741a65c0c5af584a0407cc5b996","responseTime":20,"status":200,"url":"/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0da6d1684084639f6956ff6047789a66"} device-1 | {"level":"info","message":"POST /devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542/websocket 200 14ms","method":"POST","requestID":"0da6d1684084639f6956ff6047789a66","responseTime":14,"status":200,"url":"/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:35:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542/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":"0da6d1684084639f6956ff6047789a66"} device-1 | {"level":"info","message":"device 'http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc","level":"info","message":"auth send jwt","requestID":"90a5e26566b514656abd5a66659f911a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"90a5e26566b514656abd5a66659f911a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"90a5e26566b514656abd5a66659f911a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.044337,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"90a5e26566b514656abd5a66659f911a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216133,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"90a5e26566b514656abd5a66659f911a","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:32.689278608Z"}]},"request_id":"fd5a4703-42ab-4f06-9a53-373bec72cf5d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.3124752} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"90a5e26566b514656abd5a66659f911a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"90a5e26566b514656abd5a66659f911a"} gateway-1 | {"time_local":"17/Jul/2024:11:35:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542? 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":"90a5e26566b514656abd5a66659f911a"} device-1 | {"level":"info","message":"GET /devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542? 200 12ms","method":"GET","requestID":"90a5e26566b514656abd5a66659f911a","responseTime":12,"status":200,"url":"/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc","level":"info","message":"auth send jwt","requestID":"1937eefa7c7eb8912c84985ffa369627"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1937eefa7c7eb8912c84985ffa369627","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1937eefa7c7eb8912c84985ffa369627"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.616889,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"1937eefa7c7eb8912c84985ffa369627","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216133,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1937eefa7c7eb8912c84985ffa369627","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:32.742192097Z"}]},"request_id":"bc7d5fef-1fda-4f82-b2ee-516269789fa9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.3306632} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"1937eefa7c7eb8912c84985ffa369627","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1937eefa7c7eb8912c84985ffa369627"} gateway-1 | {"time_local":"17/Jul/2024:11:35:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc? 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":"1937eefa7c7eb8912c84985ffa369627"} device-1 | {"level":"info","message":"GET /devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc? 200 17ms","method":"GET","requestID":"1937eefa7c7eb8912c84985ffa369627","responseTime":17,"status":200,"url":"/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc","level":"info","message":"auth send jwt","requestID":"c0df5fff381589e877ffd16a0339a601"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c0df5fff381589e877ffd16a0339a601","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"c0df5fff381589e877ffd16a0339a601"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.869838,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c0df5fff381589e877ffd16a0339a601","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216133,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c0df5fff381589e877ffd16a0339a601","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7"},"level":"info","message":"Attempting to run experiment","requestID":"c0df5fff381589e877ffd16a0339a601"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7"},"level":"info","message":"Attempting to book experiment","requestID":"c0df5fff381589e877ffd16a0339a601"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7"},"level":"info","message":"Successfully booked experiment","requestID":"c0df5fff381589e877ffd16a0339a601"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ada14100-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ada18f20-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.788383,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ada14100-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216133,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ada14100-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.881624,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ada18f20-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216133,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ada18f20-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:32.689278608Z"}]},"request_id":"4405585a-517e-4c09-8c41-ab61ff05c48b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.4052444} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"ada14100-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:32.742192097Z"}]},"request_id":"95e73824-98ba-40c9-9953-b0faf1cc94d9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.406984} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"ada18f20-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ada14100-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542? 200 23ms","method":"GET","requestID":"ada14100-4430-11ef-b47c-55a12d3fdb12","responseTime":23,"status":200,"url":"/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ada18f20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc? 200 22ms","method":"GET","requestID":"ada18f20-4430-11ef-b47c-55a12d3fdb12","responseTime":22,"status":200,"url":"/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7"},"level":"info","message":"Setting up experiment","requestID":"c0df5fff381589e877ffd16a0339a601"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"c0df5fff381589e877ffd16a0339a601"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7"},"level":"info","message":"Successfully locked booking for experiment","requestID":"c0df5fff381589e877ffd16a0339a601"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"c0df5fff381589e877ffd16a0339a601"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"c0df5fff381589e877ffd16a0339a601"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7"},"level":"info","message":"Attempting to update booking for experiment","requestID":"c0df5fff381589e877ffd16a0339a601"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7"},"level":"info","message":"Successfully updated booking for experiment","requestID":"c0df5fff381589e877ffd16a0339a601"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7"},"level":"info","message":"Successfully set up experiment","requestID":"c0df5fff381589e877ffd16a0339a601"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"adad4ef0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"adad9d10-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"adadeb30-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7"},"level":"info","message":"Successfully running experiment","requestID":"c0df5fff381589e877ffd16a0339a601"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.937477,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"adad4ef0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216133,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"adad4ef0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.154962,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"adad9d10-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216133,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"adad9d10-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a5e63502-2c96-4997-b431-1cd17375d3b5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.4830556} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.507007,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"adadeb30-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"adadeb30-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:32.689278608Z"}]},"request_id":"91cd55c3-1e48-4910-8406-f7d8bd2749cc","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.486502} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"adad4ef0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"adadeb30-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:32.742192097Z"}]},"request_id":"b8abb867-f994-48fd-8f96-e065910c082b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.4906905} device-1 | {"level":"info","message":"POST /devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542/signaling 200 17ms","method":"POST","requestID":"adadeb30-4430-11ef-b47c-55a12d3fdb12","responseTime":17,"status":200,"url":"/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"adad9d10-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"adb14690-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"adad4ef0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542? 200 31ms","method":"GET","requestID":"adad4ef0-4430-11ef-b47c-55a12d3fdb12","responseTime":31,"status":200,"url":"/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"adad9d10-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc? 200 30ms","method":"GET","requestID":"adad9d10-4430-11ef-b47c-55a12d3fdb12","responseTime":30,"status":200,"url":"/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc?"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a687cf2-13da-4298-b98d-322eb72bb408","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.5036263} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb0dedd47-59bb-4aa8-8297-065016c04bb7#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb0dedd47-59bb-4aa8-8297-065016c04bb7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"92356c8a-34a3-4100-b896-d32e52c649a6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.504109} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dffb2a09-60da-4172-85bd-316eae7753e0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.5044134} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.902481,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:33Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"adb2cd30-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","method":"POST","requestID":"c0df5fff381589e877ffd16a0339a601","responseTime":26,"status":200,"url":"/relations/update"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"adb14690-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"adb14690-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"adb14690-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:33Z"} device-1 | {"level":"info","message":"POST /devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc/signaling 200 16ms","method":"POST","requestID":"adb14690-4430-11ef-b47c-55a12d3fdb12","responseTime":16,"status":200,"url":"/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd6cdb4e-7771-40bc-a1f9-a8c84717a589","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.5151198} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.000688,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"adb2cd30-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"adb2cd30-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"c0df5fff381589e877ffd16a0339a601"} gateway-1 | {"time_local":"17/Jul/2024:11:35:33 +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":"c0df5fff381589e877ffd16a0339a601"} experiment-1 | {"level":"info","message":"POST /experiments? 201 174ms","method":"POST","requestID":"c0df5fff381589e877ffd16a0339a601","responseTime":174,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"adb2cd30-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542/signaling 200 13ms","method":"POST","requestID":"adb2cd30-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc","level":"info","message":"auth send jwt","requestID":"cdaea91b27e902e3d9cd1925fab513e5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"adb53e30-4430-11ef-b47c-55a12d3fdb12"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cdaea91b27e902e3d9cd1925fab513e5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cdaea91b27e902e3d9cd1925fab513e5"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38bb7768-e5a2-434e-9e90-16ade73a179b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.5293984} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.68275,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cdaea91b27e902e3d9cd1925fab513e5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216133,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cdaea91b27e902e3d9cd1925fab513e5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.93944,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"adb53e30-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"adb53e30-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:32.689278608Z"}]},"request_id":"e2308325-ad79-4a06-afc7-d2005f39968e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.5338516} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"adb53e30-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cdaea91b27e902e3d9cd1925fab513e5","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc/signaling 200 12ms","method":"POST","requestID":"adb53e30-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"c0df5fff381589e877ffd16a0339a601"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7"},"level":"info","message":"Building connection plan","requestID":"c0df5fff381589e877ffd16a0339a601"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"8228fdb9-033e-4a4e-b29a-ae08096b3c59"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"baa7d4c4-66c5-4d4f-82db-8bb40df131e4"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"98cae098-3b64-4de7-bf69-be9ae4d8fb5e"}]},"level":"info","message":"Built pairwise service configurations","requestID":"c0df5fff381589e877ffd16a0339a601"} 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/684531c7-75f8-45da-baf3-a8f4dc3bb1cc"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"c0df5fff381589e877ffd16a0339a601"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"adb76110-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cdaea91b27e902e3d9cd1925fab513e5"} gateway-1 | {"time_local":"17/Jul/2024:11:35:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542? 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":"cdaea91b27e902e3d9cd1925fab513e5"} device-1 | {"level":"info","message":"GET /devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542? 200 14ms","method":"GET","requestID":"cdaea91b27e902e3d9cd1925fab513e5","responseTime":14,"status":200,"url":"/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542?"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.828991,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"adb76110-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216133,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"adb76110-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc","level":"info","message":"auth send jwt","requestID":"144bf68457136b9183983f12e8b6b2f3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"144bf68457136b9183983f12e8b6b2f3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"144bf68457136b9183983f12e8b6b2f3"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723582,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"144bf68457136b9183983f12e8b6b2f3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216133,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzM30.a4y3XjsPCABTIOwpydZ3Uqf6BP8idQybPFBgydbOAcc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"144bf68457136b9183983f12e8b6b2f3","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"ecd8f471-458d-44d6-89e5-b587d436755e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.5518649} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1bff9010-330c-4466-aec8-f4b422ffea41","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.5521188} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:32.742192097Z"}]},"request_id":"86597875-f778-4531-844c-0788c57c094b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.5532727} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"adb76110-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"144bf68457136b9183983f12e8b6b2f3","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"144bf68457136b9183983f12e8b6b2f3"} gateway-1 | {"time_local":"17/Jul/2024:11:35:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc? 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":"144bf68457136b9183983f12e8b6b2f3"} device-1 | {"level":"info","message":"GET /devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc? 200 14ms","method":"GET","requestID":"144bf68457136b9183983f12e8b6b2f3","responseTime":14,"status":200,"url":"/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"adb76110-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"adb76110-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/da7cd0fb-d019-456e-9b3f-78622d903d73'","requestID":"adb76110-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/da7cd0fb-d019-456e-9b3f-78622d903d73'","requestID":"adb76110-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"adb76110-4430-11ef-b47c-55a12d3fdb12"} 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":"adb76110-4430-11ef-b47c-55a12d3fdb12","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","requestID":"adb76110-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"c0df5fff381589e877ffd16a0339a601"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"adc12510-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b97b65f9-6967-48d1-b09f-f243263c31f3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.6065} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.658676,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"adc12510-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"adc12510-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"adc12510-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542/signaling 200 11ms","method":"POST","requestID":"adc12510-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"adc347f0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bce77fb0-aa31-4b28-b2a8-f4727a46bef1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216133.6200688} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.747522,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"adc347f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"adc347f0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"adc347f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc/signaling 200 10ms","method":"POST","requestID":"adc347f0-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc/signaling"} device-1 | {"device":"21e67e61-4704-4d8f-bf6a-e20fc22e4542","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"da7cd0fb-d019-456e-9b3f-78622d903d73","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"684531c7-75f8-45da-baf3-a8f4dc3bb1cc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"da7cd0fb-d019-456e-9b3f-78622d903d73","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"684531c7-75f8-45da-baf3-a8f4dc3bb1cc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"684531c7-75f8-45da-baf3-a8f4dc3bb1cc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"684531c7-75f8-45da-baf3-a8f4dc3bb1cc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"684531c7-75f8-45da-baf3-a8f4dc3bb1cc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/da7cd0fb-d019-456e-9b3f-78622d903d73' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"da7cd0fb-d019-456e-9b3f-78622d903d73","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e1e65edb55ce03fec08b9a5aa2a012be","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e1e65edb55ce03fec08b9a5aa2a012be","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/da7cd0fb-d019-456e-9b3f-78622d903d73"}}},"level":"info","message":"received a callback","requestID":"e1e65edb55ce03fec08b9a5aa2a012be"} device-1 | {"device":"21e67e61-4704-4d8f-bf6a-e20fc22e4542","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"21e67e61-4704-4d8f-bf6a-e20fc22e4542","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"21e67e61-4704-4d8f-bf6a-e20fc22e4542","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"e1e65edb55ce03fec08b9a5aa2a012be","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"e1e65edb55ce03fec08b9a5aa2a012be"} device-1 | {"data":{"peerconnection":"da7cd0fb-d019-456e-9b3f-78622d903d73","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"684531c7-75f8-45da-baf3-a8f4dc3bb1cc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"21e67e61-4704-4d8f-bf6a-e20fc22e4542","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"684531c7-75f8-45da-baf3-a8f4dc3bb1cc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"21e67e61-4704-4d8f-bf6a-e20fc22e4542","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"da7cd0fb-d019-456e-9b3f-78622d903d73","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/da7cd0fb-d019-456e-9b3f-78622d903d73' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"da7cd0fb-d019-456e-9b3f-78622d903d73","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"17e0a1f0b9e697549a07082d49c4edf4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"17e0a1f0b9e697549a07082d49c4edf4","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/da7cd0fb-d019-456e-9b3f-78622d903d73"}}},"level":"info","message":"received a callback","requestID":"17e0a1f0b9e697549a07082d49c4edf4"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"af00d100-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:35Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fda7cd0fb-d019-456e-9b3f-78622d903d73","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"91c5c14f-4306-49ad-a965-c09db6164198","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216135.701684} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.918105,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/da7cd0fb-d019-456e-9b3f-78622d903d73","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"af00d100-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/da7cd0fb-d019-456e-9b3f-78622d903d73","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","method":"POST","requestID":"af00d100-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"af00d100-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/da7cd0fb-d019-456e-9b3f-78622d903d73 200 11ms","method":"GET","requestID":"af00d100-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/peerconnections/da7cd0fb-d019-456e-9b3f-78622d903d73"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"17e0a1f0b9e697549a07082d49c4edf4","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch","requestID":"17e0a1f0b9e697549a07082d49c4edf4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"af053dd0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:35Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cefc07f3-78f7-48f4-9523-ab0a23f9d466","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216135.7309382} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.450238,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"af053dd0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"af053dd0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"af053dd0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc/signaling 200 10ms","method":"POST","requestID":"af053dd0-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"af071290-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:35Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d6cadd1-b1e2-42f1-ba43-e9486dd52e72","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216135.7412417} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.296495,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"af071290-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"af071290-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"af071290-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542/signaling 200 9ms","method":"POST","requestID":"af071290-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzNX0._aYS_V9F8EpavQJWTAvx6nHyAvgMfZ5l5H_bvh_7i_A","level":"info","message":"auth send jwt","requestID":"6497e3378e9e1e436d043861fda9aaab"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6497e3378e9e1e436d043861fda9aaab","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7","requestID":"6497e3378e9e1e436d043861fda9aaab"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.436992,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"6497e3378e9e1e436d043861fda9aaab","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216135,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzNX0._aYS_V9F8EpavQJWTAvx6nHyAvgMfZ5l5H_bvh_7i_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"6497e3378e9e1e436d043861fda9aaab","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7","requestID":"6497e3378e9e1e436d043861fda9aaab"} gateway-1 | {"time_local":"17/Jul/2024:11:35:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7 HTTP/1.1","status": "200","body_bytes_sent":"858","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6497e3378e9e1e436d043861fda9aaab"} experiment-1 | {"level":"info","message":"GET /experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7 200 17ms","method":"GET","requestID":"6497e3378e9e1e436d043861fda9aaab","responseTime":17,"status":200,"url":"/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzNX0._aYS_V9F8EpavQJWTAvx6nHyAvgMfZ5l5H_bvh_7i_A","level":"info","message":"auth send jwt","requestID":"b9a93d755cb9a93ed28b2cb510eb3d2a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b9a93d755cb9a93ed28b2cb510eb3d2a","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7","requestID":"b9a93d755cb9a93ed28b2cb510eb3d2a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.19007,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b9a93d755cb9a93ed28b2cb510eb3d2a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216135,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzNX0._aYS_V9F8EpavQJWTAvx6nHyAvgMfZ5l5H_bvh_7i_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b9a93d755cb9a93ed28b2cb510eb3d2a","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7"},"level":"info","message":"Attempting to finish experiment","requestID":"b9a93d755cb9a93ed28b2cb510eb3d2a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"af2548f0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.320027,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/da7cd0fb-d019-456e-9b3f-78622d903d73","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"af2548f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/da7cd0fb-d019-456e-9b3f-78622d903d73","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216135,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzNX0._aYS_V9F8EpavQJWTAvx6nHyAvgMfZ5l5H_bvh_7i_A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"af2548f0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"684531c7-75f8-45da-baf3-a8f4dc3bb1cc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"684531c7-75f8-45da-baf3-a8f4dc3bb1cc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"684531c7-75f8-45da-baf3-a8f4dc3bb1cc","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"21e67e61-4704-4d8f-bf6a-e20fc22e4542","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"21e67e61-4704-4d8f-bf6a-e20fc22e4542","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"21e67e61-4704-4d8f-bf6a-e20fc22e4542","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/da7cd0fb-d019-456e-9b3f-78622d903d73' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/da7cd0fb-d019-456e-9b3f-78622d903d73' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"da7cd0fb-d019-456e-9b3f-78622d903d73","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fda7cd0fb-d019-456e-9b3f-78622d903d73': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fda7cd0fb-d019-456e-9b3f-78622d903d73","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"b26ff987-d2c8-47a0-ad29-13a36fdcd399","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216135.9583883} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0cfd2459-cef0-482e-804b-6a0e3f205924","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216135.9587212} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b78183c78995843468b0347ec0c67870","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b78183c78995843468b0347ec0c67870","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"af2548f0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7c06235b89e57d4115ba28b2f2bcc3ee","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/da7cd0fb-d019-456e-9b3f-78622d903d73"}}},"level":"info","message":"received a callback","requestID":"b78183c78995843468b0347ec0c67870"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7c06235b89e57d4115ba28b2f2bcc3ee","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/da7cd0fb-d019-456e-9b3f-78622d903d73"}}},"level":"info","message":"received a callback","requestID":"7c06235b89e57d4115ba28b2f2bcc3ee"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"af2548f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/da7cd0fb-d019-456e-9b3f-78622d903d73 204 44ms","method":"DELETE","requestID":"af2548f0-4430-11ef-b47c-55a12d3fdb12","responseTime":44,"status":204,"url":"/peerconnections/da7cd0fb-d019-456e-9b3f-78622d903d73"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7"},"level":"info","message":"Successfully finished experiment","requestID":"b9a93d755cb9a93ed28b2cb510eb3d2a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"af2e49a0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:35Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F684531c7-75f8-45da-baf3-a8f4dc3bb1cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc5abad5-44af-40b6-abbe-951f14f0bcd5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216135.999263} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.052241,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"af2e49a0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"af2e49a0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"af2e49a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc/signaling 200 10ms","method":"POST","requestID":"af2e49a0-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb0dedd47-59bb-4aa8-8297-065016c04bb7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb0dedd47-59bb-4aa8-8297-065016c04bb7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"628af044-ffd9-4bbd-8ab1-0d03dedc8cd4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216136.006424} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7f25d9d7-99b5-4032-a342-14848054bb3e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216136.006759} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"af304570-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"b9a93d755cb9a93ed28b2cb510eb3d2a","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:36Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F21e67e61-4704-4d8f-bf6a-e20fc22e4542","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"025ead51-de39-465d-874f-5f5f5f2dbe97","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216136.012865} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.931328,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"af304570-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"af304570-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"af304570-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542/signaling 200 10ms","method":"POST","requestID":"af304570-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7","requestID":"b9a93d755cb9a93ed28b2cb510eb3d2a"} gateway-1 | {"time_local":"17/Jul/2024:11:35:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.165","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b9a93d755cb9a93ed28b2cb510eb3d2a"} experiment-1 | {"level":"info","message":"DELETE /experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7 204 160ms","method":"DELETE","requestID":"b9a93d755cb9a93ed28b2cb510eb3d2a","responseTime":160,"status":204,"url":"/experiments/b0dedd47-59bb-4aa8-8297-065016c04bb7"} gateway-1 | {"time_local":"17/Jul/2024:11:35:36 +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.807","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"257107bc8d283dd15cc551000d7b8b62"} gateway-1 | {"time_local":"17/Jul/2024:11:35:36 +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.800","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"affee15e050dcfd9536fe3781da378cb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"b78183c78995843468b0347ec0c67870","responseTime":120,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.123","http_referrer":"","http_user_agent":"node-fetch","requestID":"b78183c78995843468b0347ec0c67870"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"7c06235b89e57d4115ba28b2f2bcc3ee","responseTime":120,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.124","http_referrer":"","http_user_agent":"node-fetch","requestID":"7c06235b89e57d4115ba28b2f2bcc3ee"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzNn0.5fiiuvY0SnVuo2ElUo-E8xIuM1946Pbpt7Mq9nVIkOQ","level":"info","message":"auth send jwt","requestID":"e0c6fbb377141deea3d879668d62612d"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/21e67e61-4704-4d8f-bf6a-e20fc22e4542' closed"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"e0c6fbb377141deea3d879668d62612d","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e0c6fbb377141deea3d879668d62612d"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.94252,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"e0c6fbb377141deea3d879668d62612d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216136,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzNn0.5fiiuvY0SnVuo2ElUo-E8xIuM1946Pbpt7Mq9nVIkOQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e0c6fbb377141deea3d879668d62612d","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/684531c7-75f8-45da-baf3-a8f4dc3bb1cc' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1d0e26-6daf-4183-a23b-bb7d338df79d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"30cbbbd0-d199-44ac-af7a-5479b0f0ffdf","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216136.1088157} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e0c6fbb377141deea3d879668d62612d","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"085cac44-4b47-49e6-97b3-67aef4153cf2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216136.1153648} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"e0c6fbb377141deea3d879668d62612d","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1d0e26-6daf-4183-a23b-bb7d338df79d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"3d3fd4ab-7c3a-43a6-adb4-0240e067eaf8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216136.1271687} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a70e10ed-3ca5-4086-9d32-232315c54637","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216136.1287806} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"e0c6fbb377141deea3d879668d62612d","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1d0e26-6daf-4183-a23b-bb7d338df79d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1d0e26-6daf-4183-a23b-bb7d338df79d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:36.127146975Z"}]},"request_id":"f53ad156-e2fc-4820-b3ee-777dd69fa365","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216136.13408} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e0c6fbb377141deea3d879668d62612d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e0c6fbb377141deea3d879668d62612d"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"e0c6fbb377141deea3d879668d62612d","responseTime":48,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"17/Jul/2024:11:35:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e0c6fbb377141deea3d879668d62612d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzNn0.5fiiuvY0SnVuo2ElUo-E8xIuM1946Pbpt7Mq9nVIkOQ","level":"info","message":"auth send jwt","requestID":"9843a3d7b2a1b2549050fd7a34f2ac04"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9843a3d7b2a1b2549050fd7a34f2ac04","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9843a3d7b2a1b2549050fd7a34f2ac04"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.97189,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9843a3d7b2a1b2549050fd7a34f2ac04","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216136,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzNn0.5fiiuvY0SnVuo2ElUo-E8xIuM1946Pbpt7Mq9nVIkOQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9843a3d7b2a1b2549050fd7a34f2ac04","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc7ebad0-8091-4671-a90f-5e9938c0db6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"da9999dd-c427-4fff-b399-dc6e3b9b8de0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216136.1688647} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9843a3d7b2a1b2549050fd7a34f2ac04","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d2f7a21c-ba1a-4b27-a59a-c401057737f5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216136.174651} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"9843a3d7b2a1b2549050fd7a34f2ac04","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc7ebad0-8091-4671-a90f-5e9938c0db6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"037efef4-7757-4146-bea1-b00f03079226","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216136.1875372} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c758d6c-bc2e-4542-879a-a5a56534fc3c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216136.1879056} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"9843a3d7b2a1b2549050fd7a34f2ac04","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc7ebad0-8091-4671-a90f-5e9938c0db6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc7ebad0-8091-4671-a90f-5e9938c0db6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:36.187511673Z"}]},"request_id":"1100b7f3-1425-474b-b078-ff6628285e54","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216136.1943548} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9843a3d7b2a1b2549050fd7a34f2ac04","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9843a3d7b2a1b2549050fd7a34f2ac04"} gateway-1 | {"time_local":"17/Jul/2024:11:35:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9843a3d7b2a1b2549050fd7a34f2ac04"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"9843a3d7b2a1b2549050fd7a34f2ac04","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9bf8484a1626670189ce008dcccc5a0b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9bf8484a1626670189ce008dcccc5a0b","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c/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":"9bf8484a1626670189ce008dcccc5a0b"} device-1 | {"level":"info","message":"OPTIONS /devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c/websocket 200 1ms","method":"OPTIONS","requestID":"9bf8484a1626670189ce008dcccc5a0b","responseTime":1,"status":200,"url":"/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c","level":"info","message":"auth send jwt","requestID":"5647510fd8dad401d0b7328dd91f808c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5647510fd8dad401d0b7328dd91f808c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5647510fd8dad401d0b7328dd91f808c"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.254467,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"5647510fd8dad401d0b7328dd91f808c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216138,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5647510fd8dad401d0b7328dd91f808c","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e145358739d81e225b5db832a78128db","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e145358739d81e225b5db832a78128db","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d/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":"e145358739d81e225b5db832a78128db"} device-1 | {"level":"info","message":"OPTIONS /devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d/websocket 200 1ms","method":"OPTIONS","requestID":"e145358739d81e225b5db832a78128db","responseTime":1,"status":200,"url":"/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c","level":"info","message":"auth send jwt","requestID":"3e2226a5665eeb7501a74aacb4d5e1b1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3e2226a5665eeb7501a74aacb4d5e1b1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3e2226a5665eeb7501a74aacb4d5e1b1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5647510fd8dad401d0b7328dd91f808c"} gateway-1 | {"time_local":"17/Jul/2024:11:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.034","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5647510fd8dad401d0b7328dd91f808c"} device-1 | {"level":"info","message":"POST /devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c/websocket 200 27ms","method":"POST","requestID":"5647510fd8dad401d0b7328dd91f808c","responseTime":27,"status":200,"url":"/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c/websocket"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.999664,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"3e2226a5665eeb7501a74aacb4d5e1b1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216138,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3e2226a5665eeb7501a74aacb4d5e1b1","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3e2226a5665eeb7501a74aacb4d5e1b1"} device-1 | {"level":"info","message":"POST /devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d/websocket 200 23ms","method":"POST","requestID":"3e2226a5665eeb7501a74aacb4d5e1b1","responseTime":23,"status":200,"url":"/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d/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":"3e2226a5665eeb7501a74aacb4d5e1b1"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c","level":"info","message":"auth send jwt","requestID":"b108f2d3aeaf851afeb24f339ce03db0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b108f2d3aeaf851afeb24f339ce03db0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b108f2d3aeaf851afeb24f339ce03db0"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.044456,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b108f2d3aeaf851afeb24f339ce03db0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216138,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b108f2d3aeaf851afeb24f339ce03db0","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1d0e26-6daf-4183-a23b-bb7d338df79d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1d0e26-6daf-4183-a23b-bb7d338df79d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:36.127146975Z"}]},"request_id":"e2f39336-bd4f-483a-8a17-5d8d01aa8c0f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.1901996} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b108f2d3aeaf851afeb24f339ce03db0","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b108f2d3aeaf851afeb24f339ce03db0"} gateway-1 | {"time_local":"17/Jul/2024:11:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d? 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":"b108f2d3aeaf851afeb24f339ce03db0"} device-1 | {"level":"info","message":"GET /devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d? 200 16ms","method":"GET","requestID":"b108f2d3aeaf851afeb24f339ce03db0","responseTime":16,"status":200,"url":"/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c","level":"info","message":"auth send jwt","requestID":"e26356bf6294548f1c3698a6449c87a0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e26356bf6294548f1c3698a6449c87a0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e26356bf6294548f1c3698a6449c87a0"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.836448,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"e26356bf6294548f1c3698a6449c87a0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216138,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e26356bf6294548f1c3698a6449c87a0","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc7ebad0-8091-4671-a90f-5e9938c0db6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc7ebad0-8091-4671-a90f-5e9938c0db6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:36.187511673Z"}]},"request_id":"b9d17d9b-372f-45a9-b633-856f788ba6da","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.2127068} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e26356bf6294548f1c3698a6449c87a0","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e26356bf6294548f1c3698a6449c87a0"} gateway-1 | {"time_local":"17/Jul/2024:11:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c? 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":"e26356bf6294548f1c3698a6449c87a0"} device-1 | {"level":"info","message":"GET /devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c? 200 17ms","method":"GET","requestID":"e26356bf6294548f1c3698a6449c87a0","responseTime":17,"status":200,"url":"/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c","level":"info","message":"auth send jwt","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.115519,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"abb8ac5bba48e9688d3adaa33faf0a0e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216138,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116"},"level":"info","message":"Attempting to run experiment","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116"},"level":"info","message":"Attempting to book experiment","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116"},"level":"info","message":"Successfully booked experiment","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b08993e0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b089e200-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.894435,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b08993e0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216138,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b08993e0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.743351,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b089e200-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216138,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b089e200-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1d0e26-6daf-4183-a23b-bb7d338df79d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1d0e26-6daf-4183-a23b-bb7d338df79d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:36.127146975Z"}]},"request_id":"5ae49d5c-2a90-4e6a-b407-d4155d9ae9af","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.2800314} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b08993e0-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc7ebad0-8091-4671-a90f-5e9938c0db6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc7ebad0-8091-4671-a90f-5e9938c0db6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:36.187511673Z"}]},"request_id":"ca1f62b6-fa29-473f-b7f1-13ff72d2e452","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.2810364} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b089e200-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b08993e0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d? 200 17ms","method":"GET","requestID":"b08993e0-4430-11ef-b47c-55a12d3fdb12","responseTime":17,"status":200,"url":"/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b089e200-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c? 200 16ms","method":"GET","requestID":"b089e200-4430-11ef-b47c-55a12d3fdb12","responseTime":16,"status":200,"url":"/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116"},"level":"info","message":"Setting up experiment","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116"},"level":"info","message":"Successfully locked booking for experiment","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116"},"level":"info","message":"Attempting to update booking for experiment","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116"},"level":"info","message":"Successfully updated booking for experiment","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116"},"level":"info","message":"Successfully set up experiment","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b0924670-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b0926d80-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0929490-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116"},"level":"info","message":"Successfully running experiment","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.932869,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b0924670-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216138,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b0924670-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.035315,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b0926d80-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216138,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b0926d80-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1d0e26-6daf-4183-a23b-bb7d338df79d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1d0e26-6daf-4183-a23b-bb7d338df79d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:36.127146975Z"}]},"request_id":"2e37100e-956d-4178-83be-cec0db22205c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.338265} authorization-1 | {"client_addr":"127.0.0.1:52574","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"b0924670-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc7ebad0-8091-4671-a90f-5e9938c0db6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc7ebad0-8091-4671-a90f-5e9938c0db6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:36.187511673Z"}]},"request_id":"2e1dd224-c6ce-4594-b650-a6983f3759dc","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.3404353} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1d0e26-6daf-4183-a23b-bb7d338df79d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5a75b2a4-e8fa-4902-9e4e-dde1a2cedf34","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.34114} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b0926d80-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:52574","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.51827,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b0929490-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b0929490-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b0924670-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d? 200 21ms","method":"GET","requestID":"b0924670-4430-11ef-b47c-55a12d3fdb12","responseTime":21,"status":200,"url":"/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b0926d80-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c? 200 21ms","method":"GET","requestID":"b0926d80-4430-11ef-b47c-55a12d3fdb12","responseTime":21,"status":200,"url":"/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0929490-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d/signaling 200 20ms","method":"POST","requestID":"b0929490-4430-11ef-b47c-55a12d3fdb12","responseTime":20,"status":200,"url":"/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F00d56a19-81f4-411e-b0b5-3ca6bef42116#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F00d56a19-81f4-411e-b0b5-3ca6bef42116","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"224bba21-2234-4e4c-9b3b-acc685c5f0a1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.3519146} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c996063b-3d7f-4593-9221-627060c69c2b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.3520818} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0961700-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e","responseTime":20,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0966520-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1d0e26-6daf-4183-a23b-bb7d338df79d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1c135903-2bed-49fd-9f94-e92784664ff9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.3570294} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.644534,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b0961700-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b0961700-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc7ebad0-8091-4671-a90f-5e9938c0db6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f512dbb2-5495-4dbf-abbd-a3e0ae691f3f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.3599925} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.654154,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b0966520-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"b0966520-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0961700-4430-11ef-b47c-55a12d3fdb12"} gateway-1 | {"time_local":"17/Jul/2024:11:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.142","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} device-1 | {"level":"info","message":"POST /devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d/signaling 200 10ms","method":"POST","requestID":"b0961700-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 137ms","method":"POST","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e","responseTime":137,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0966520-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c/signaling 200 11ms","method":"POST","requestID":"b0966520-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b09812d0-4430-11ef-b47c-55a12d3fdb12"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c","level":"info","message":"auth send jwt","requestID":"819c0bee847653f45a33b64b584858a4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"819c0bee847653f45a33b64b584858a4","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"819c0bee847653f45a33b64b584858a4"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc7ebad0-8091-4671-a90f-5e9938c0db6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a1c2d65-5f25-4b0c-94f1-ecf639480b16","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.3714488} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.718065,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b09812d0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b09812d0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.603512,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"819c0bee847653f45a33b64b584858a4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216138,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"819c0bee847653f45a33b64b584858a4","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b09812d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c/signaling 200 13ms","method":"POST","requestID":"b09812d0-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c/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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1d0e26-6daf-4183-a23b-bb7d338df79d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1d0e26-6daf-4183-a23b-bb7d338df79d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:36.127146975Z"}]},"request_id":"e8a62100-72ec-4fa2-9016-f95a1ed5ab29","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.3793094} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116"},"level":"info","message":"Building connection plan","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} 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":"bbc616ab-367b-4d3e-aa94-fd6c03d58f60"},{"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":"fb410959-0618-4a04-846c-655f4334219b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"908d4cd9-3d1b-45f0-a6fc-a82db45da9df"}]},"level":"info","message":"Built pairwise service configurations","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"819c0bee847653f45a33b64b584858a4","responseTime":3,"status":200,"url":"/relations/query"} 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/bc1d0e26-6daf-4183-a23b-bb7d338df79d"},{"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/bc7ebad0-8091-4671-a90f-5e9938c0db6c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"b09aaae0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"819c0bee847653f45a33b64b584858a4"} gateway-1 | {"time_local":"17/Jul/2024:11:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d? 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":"819c0bee847653f45a33b64b584858a4"} device-1 | {"level":"info","message":"GET /devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d? 200 16ms","method":"GET","requestID":"819c0bee847653f45a33b64b584858a4","responseTime":16,"status":200,"url":"/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d?"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.011318,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b09aaae0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216138,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b09aaae0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c","level":"info","message":"auth send jwt","requestID":"9fbb18c0d8bf20daaec65a2352cd88dd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9fbb18c0d8bf20daaec65a2352cd88dd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9fbb18c0d8bf20daaec65a2352cd88dd"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.619855,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9fbb18c0d8bf20daaec65a2352cd88dd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216138,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9fbb18c0d8bf20daaec65a2352cd88dd","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"cd6a7aca-5ab1-446d-adbb-2a34382e207f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.3988302} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2060b284-86c4-4af1-ab9a-3e3f86bcc705","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.3989847} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"b09aaae0-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc7ebad0-8091-4671-a90f-5e9938c0db6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc7ebad0-8091-4671-a90f-5e9938c0db6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:36.187511673Z"}]},"request_id":"010041ba-8b35-4fd1-ac5e-68bdd505cb17","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.3998482} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"9fbb18c0d8bf20daaec65a2352cd88dd","responseTime":8,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9fbb18c0d8bf20daaec65a2352cd88dd"} gateway-1 | {"time_local":"17/Jul/2024:11:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9fbb18c0d8bf20daaec65a2352cd88dd"} device-1 | {"level":"info","message":"GET /devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c? 200 26ms","method":"GET","requestID":"9fbb18c0d8bf20daaec65a2352cd88dd","responseTime":26,"status":200,"url":"/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"b09aaae0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"b09aaae0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f'","requestID":"b09aaae0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f'","requestID":"b09aaae0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"b09aaae0-4430-11ef-b47c-55a12d3fdb12"} 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":"b09aaae0-4430-11ef-b47c-55a12d3fdb12","responseTime":38,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"b09aaae0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f","device":"bc7ebad0-8091-4671-a90f-5e9938c0db6c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","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"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f","device":"bc1d0e26-6daf-4183-a23b-bb7d338df79d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","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"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"abb8ac5bba48e9688d3adaa33faf0a0e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0a50b20-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1d0e26-6daf-4183-a23b-bb7d338df79d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"512de23e-6f0f-4baa-b6ba-56a86e4c190e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.4550653} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.134279,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b0a50b20-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b0a50b20-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0a50b20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d/signaling 200 10ms","method":"POST","requestID":"b0a50b20-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d/signaling"} device-1 | {"device":"bc7ebad0-8091-4671-a90f-5e9938c0db6c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"bc7ebad0-8091-4671-a90f-5e9938c0db6c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0a6dfe0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc7ebad0-8091-4671-a90f-5e9938c0db6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2bb54805-df8a-4a56-b4e4-c01b8eb91ac4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.4666696} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.955757,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b0a6dfe0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b0a6dfe0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0a6dfe0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c/signaling 200 8ms","method":"POST","requestID":"b0a6dfe0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c/signaling"} device-1 | {"device":"bc1d0e26-6daf-4183-a23b-bb7d338df79d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"bc1d0e26-6daf-4183-a23b-bb7d338df79d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 2765616977964508185 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:XE8W\r\na=ice-pwd:Bz3OMmVkEgXuBi2fglGUv4hU\r\na=ice-options:trickle\r\na=fingerprint:sha-256 F5:19:7B:FF:6F:08:45:3C:BB:C6:6C:A0:6C:F0:22:07:EA:41:80:C7:A5:61:FE:85:36:3A:C1:2C:D1:FE:14:98\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"bc7ebad0-8091-4671-a90f-5e9938c0db6c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 4592100709799310421 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:n2pk\r\na=ice-pwd:N+RJdJ1VDwLyfgqxFG/Ao5kL\r\na=ice-options:trickle\r\na=fingerprint:sha-256 83:5E:94:25:B8:97:2B:06:9C:26:6F:43:B8:7D:87:3F:37:08:49:A3:09:2E:8B:17:EB:9A:FE:EB:1B:3F:46:47\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"bc1d0e26-6daf-4183-a23b-bb7d338df79d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1040657263 1 udp 2113937151 0208d743-4a98-4e4e-855a-60fcb1b556b1.local 37207 typ host generation 0 ufrag n2pk network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"bc1d0e26-6daf-4183-a23b-bb7d338df79d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2905377404 1 udp 1677729535 141.24.211.56 37207 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag n2pk network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"bc1d0e26-6daf-4183-a23b-bb7d338df79d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d'"} device-1 | {"content":{"candidate":"candidate:3017146564 1 udp 2113937151 9750e240-e533-481f-a601-0acd18a83671.local 60663 typ host generation 0 ufrag XE8W network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"bc7ebad0-8091-4671-a90f-5e9938c0db6c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:553492951 1 udp 1677729535 141.24.211.56 60663 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag XE8W network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"bc7ebad0-8091-4671-a90f-5e9938c0db6c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c'"} device-1 | {"device":"bc7ebad0-8091-4671-a90f-5e9938c0db6c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"bc7ebad0-8091-4671-a90f-5e9938c0db6c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"bc7ebad0-8091-4671-a90f-5e9938c0db6c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"bc1d0e26-6daf-4183-a23b-bb7d338df79d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"bc1d0e26-6daf-4183-a23b-bb7d338df79d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"bc1d0e26-6daf-4183-a23b-bb7d338df79d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"52b347cf-dfb1-464c-b68f-5625d7d8328f","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"bc1d0e26-6daf-4183-a23b-bb7d338df79d","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"adaa4bcb57405beb39e338e2a411d0dc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"adaa4bcb57405beb39e338e2a411d0dc","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/bc1d0e26-6daf-4183-a23b-bb7d338df79d"},{"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/bc7ebad0-8091-4671-a90f-5e9938c0db6c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f"}}},"level":"info","message":"received a callback","requestID":"adaa4bcb57405beb39e338e2a411d0dc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"adaa4bcb57405beb39e338e2a411d0dc","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"adaa4bcb57405beb39e338e2a411d0dc"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"52b347cf-dfb1-464c-b68f-5625d7d8328f","statusDeviceA":"new","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b6d3eef3705318a57f10b4dc8dda166b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b6d3eef3705318a57f10b4dc8dda166b","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/bc1d0e26-6daf-4183-a23b-bb7d338df79d"},{"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/bc7ebad0-8091-4671-a90f-5e9938c0db6c"}],"status":"new","type":"webrtc","url":"http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f"}}},"level":"info","message":"received a callback","requestID":"b6d3eef3705318a57f10b4dc8dda166b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"b6d3eef3705318a57f10b4dc8dda166b","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35: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.006","http_referrer":"","http_user_agent":"node-fetch","requestID":"b6d3eef3705318a57f10b4dc8dda166b"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"52b347cf-dfb1-464c-b68f-5625d7d8328f","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"40e8a31b2e936462f8f5a272844c2e37","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"40e8a31b2e936462f8f5a272844c2e37","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/bc1d0e26-6daf-4183-a23b-bb7d338df79d"},{"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/bc7ebad0-8091-4671-a90f-5e9938c0db6c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f"}}},"level":"info","message":"received a callback","requestID":"40e8a31b2e936462f8f5a272844c2e37"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"40e8a31b2e936462f8f5a272844c2e37","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35: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.006","http_referrer":"","http_user_agent":"node-fetch","requestID":"40e8a31b2e936462f8f5a272844c2e37"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"52b347cf-dfb1-464c-b68f-5625d7d8328f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c6a426a38d7dd638ab0131d483ee4504","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c6a426a38d7dd638ab0131d483ee4504","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/bc1d0e26-6daf-4183-a23b-bb7d338df79d"},{"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/bc7ebad0-8091-4671-a90f-5e9938c0db6c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f"}}},"level":"info","message":"received a callback","requestID":"c6a426a38d7dd638ab0131d483ee4504"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"b0b69750-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F52b347cf-dfb1-464c-b68f-5625d7d8328f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"49e960c8-5978-4b23-b682-7a04b1df6334","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.56899} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.059978,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b0b69750-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f","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","method":"POST","requestID":"b0b69750-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"b0b69750-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f 200 7ms","method":"GET","requestID":"b0b69750-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"c6a426a38d7dd638ab0131d483ee4504","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35: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.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"c6a426a38d7dd638ab0131d483ee4504"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0b9cba0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1d0e26-6daf-4183-a23b-bb7d338df79d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c0123b5-73e1-43be-89b2-85e5dcd646c1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.5908492} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":1.955448,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b0b9cba0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b0b9cba0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0b9cba0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d/signaling 200 8ms","method":"POST","requestID":"b0b9cba0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0bb7950-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc7ebad0-8091-4671-a90f-5e9938c0db6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6ee5800-6526-4f85-b3b4-37dde861dfb4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.6008852} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.138274,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b0bb7950-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b0bb7950-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0bb7950-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c/signaling 200 8ms","method":"POST","requestID":"b0bb7950-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c","level":"info","message":"auth send jwt","requestID":"f7fce410dd962ee8f52200e91d23aa29"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f7fce410dd962ee8f52200e91d23aa29","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116","requestID":"f7fce410dd962ee8f52200e91d23aa29"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.638414,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"f7fce410dd962ee8f52200e91d23aa29","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216138,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f7fce410dd962ee8f52200e91d23aa29","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116","requestID":"f7fce410dd962ee8f52200e91d23aa29"} gateway-1 | {"time_local":"17/Jul/2024:11:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116 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":"f7fce410dd962ee8f52200e91d23aa29"} experiment-1 | {"level":"info","message":"GET /experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116 200 8ms","method":"GET","requestID":"f7fce410dd962ee8f52200e91d23aa29","responseTime":8,"status":200,"url":"/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c","level":"info","message":"auth send jwt","requestID":"bedc3a1a260dd5d608dc823c51c1d99d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bedc3a1a260dd5d608dc823c51c1d99d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116","requestID":"bedc3a1a260dd5d608dc823c51c1d99d"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.689716,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bedc3a1a260dd5d608dc823c51c1d99d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216138,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bedc3a1a260dd5d608dc823c51c1d99d","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116"},"level":"info","message":"Attempting to finish experiment","requestID":"bedc3a1a260dd5d608dc823c51c1d99d"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"b0c23010-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.995959,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b0c23010-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216138,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b0c23010-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f","device":"bc1d0e26-6daf-4183-a23b-bb7d338df79d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f","device":"bc7ebad0-8091-4671-a90f-5e9938c0db6c","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"52b347cf-dfb1-464c-b68f-5625d7d8328f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"db0520953f50768778148f002135fb84","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"db0520953f50768778148f002135fb84","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fcb1d02671910411ce518d3796035f93","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/bc1d0e26-6daf-4183-a23b-bb7d338df79d"},{"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/bc7ebad0-8091-4671-a90f-5e9938c0db6c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f"}}},"level":"info","message":"received a callback","requestID":"db0520953f50768778148f002135fb84"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fcb1d02671910411ce518d3796035f93","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/bc1d0e26-6daf-4183-a23b-bb7d338df79d"},{"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/bc7ebad0-8091-4671-a90f-5e9938c0db6c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f"}}},"level":"info","message":"received a callback","requestID":"fcb1d02671910411ce518d3796035f93"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F52b347cf-dfb1-464c-b68f-5625d7d8328f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F52b347cf-dfb1-464c-b68f-5625d7d8328f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"a9d6e7b0-bfab-420a-9e52-40b23759d02e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.658805} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f1113739-286f-483d-abb6-c1daecc80b8e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.6590853} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"b0c23010-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"52b347cf-dfb1-464c-b68f-5625d7d8328f","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"b0c23010-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f 204 33ms","method":"DELETE","requestID":"b0c23010-4430-11ef-b47c-55a12d3fdb12","responseTime":33,"status":204,"url":"/peerconnections/52b347cf-dfb1-464c-b68f-5625d7d8328f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116"},"level":"info","message":"Successfully finished experiment","requestID":"bedc3a1a260dd5d608dc823c51c1d99d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0c98310-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc1d0e26-6daf-4183-a23b-bb7d338df79d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ec5b058-dc7c-4493-bfcc-4e7b0c5f53af","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.695173} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.329156,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b0c98310-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b0c98310-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0c98310-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d/signaling 200 11ms","method":"POST","requestID":"b0c98310-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b0cba5f0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F00d56a19-81f4-411e-b0b5-3ca6bef42116': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F00d56a19-81f4-411e-b0b5-3ca6bef42116","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"c7206b68-2aea-423d-bcd1-638787a3835e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.705863} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0422bf5f-aaec-4211-9dc2-365e8c78e31e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.7061188} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"bedc3a1a260dd5d608dc823c51c1d99d","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbc7ebad0-8091-4671-a90f-5e9938c0db6c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c6fc0a3-0267-4ab6-b511-f37ae2d7d0e8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.7082498} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.166545,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b0cba5f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b0cba5f0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b0cba5f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c/signaling 200 9ms","method":"POST","requestID":"b0cba5f0-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116","requestID":"bedc3a1a260dd5d608dc823c51c1d99d"} gateway-1 | {"time_local":"17/Jul/2024:11:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.145","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bedc3a1a260dd5d608dc823c51c1d99d"} experiment-1 | {"level":"info","message":"DELETE /experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116 204 142ms","method":"DELETE","requestID":"bedc3a1a260dd5d608dc823c51c1d99d","responseTime":142,"status":204,"url":"/experiments/00d56a19-81f4-411e-b0b5-3ca6bef42116"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 121ms","method":"POST","requestID":"db0520953f50768778148f002135fb84","responseTime":121,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35: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.124","http_referrer":"","http_user_agent":"node-fetch","requestID":"db0520953f50768778148f002135fb84"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 121ms","method":"POST","requestID":"fcb1d02671910411ce518d3796035f93","responseTime":121,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35: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.125","http_referrer":"","http_user_agent":"node-fetch","requestID":"fcb1d02671910411ce518d3796035f93"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c","level":"info","message":"auth send jwt","requestID":"bc3de8aa54f9e4d1a4b0ade21ca44c66"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bc3de8aa54f9e4d1a4b0ade21ca44c66","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:35:38 +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.649","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fb7869e72193380a6a68550ffac3ff98"} gateway-1 | {"time_local":"17/Jul/2024:11:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2887","request_time":"0.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":"b314b9c34033b6b58fcaaff3e511cfaa"} device-1 | {"level":"info","message":"postDevices called","requestID":"bc3de8aa54f9e4d1a4b0ade21ca44c66"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.739328,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bc3de8aa54f9e4d1a4b0ade21ca44c66","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216138,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"bc3de8aa54f9e4d1a4b0ade21ca44c66","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bc7ebad0-8091-4671-a90f-5e9938c0db6c' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13a84624-8d7e-4466-97fd-52543978a1d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"05618e80-6e42-4d99-bca3-e410a1eca9b1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.807172} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bc3de8aa54f9e4d1a4b0ade21ca44c66","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bc1d0e26-6daf-4183-a23b-bb7d338df79d' 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:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a05459e0-1d60-4641-ad24-2fab75b0aefb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.8127866} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"bc3de8aa54f9e4d1a4b0ade21ca44c66","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13a84624-8d7e-4466-97fd-52543978a1d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"fb6fd5e2-7777-460b-a5a5-ec09f2a544bd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.8250117} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"994b6ebe-5e7d-43b9-86ab-c52bbedf860e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.8252897} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"bc3de8aa54f9e4d1a4b0ade21ca44c66","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13a84624-8d7e-4466-97fd-52543978a1d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13a84624-8d7e-4466-97fd-52543978a1d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:38.824993797Z"}]},"request_id":"a20dccca-86f8-4d83-8ff4-d6adafbba5e9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.8296971} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bc3de8aa54f9e4d1a4b0ade21ca44c66","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bc3de8aa54f9e4d1a4b0ade21ca44c66"} gateway-1 | {"time_local":"17/Jul/2024:11:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc3de8aa54f9e4d1a4b0ade21ca44c66"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"bc3de8aa54f9e4d1a4b0ade21ca44c66","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c","level":"info","message":"auth send jwt","requestID":"d6fa15e630d96bdd6194c4b89e78f1c8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d6fa15e630d96bdd6194c4b89e78f1c8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d6fa15e630d96bdd6194c4b89e78f1c8"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.651252,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d6fa15e630d96bdd6194c4b89e78f1c8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216138,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjEzOH0.IvgSAMLAPS9TDTONyMh60xg58KjXKT8jhV71dGbRE7c"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d6fa15e630d96bdd6194c4b89e78f1c8","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686c871e-75b5-4272-bbce-fc4cadfd6f71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6f976dd6-6ad0-4176-b254-5881343456d5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.8567502} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d6fa15e630d96bdd6194c4b89e78f1c8","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd65b818-12f4-44eb-9a97-a928cf782db8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.861114} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"d6fa15e630d96bdd6194c4b89e78f1c8","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686c871e-75b5-4272-bbce-fc4cadfd6f71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"25f8b890-8889-42f0-b1c3-1f93fefa7e6a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.8736207} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b959b7e1-340d-4191-950f-23a7c3134a61","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.8737798} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"d6fa15e630d96bdd6194c4b89e78f1c8","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686c871e-75b5-4272-bbce-fc4cadfd6f71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686c871e-75b5-4272-bbce-fc4cadfd6f71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:38.873598082Z"}]},"request_id":"86c1e596-df90-4dfe-a4bd-4a89ae35d1a8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216138.8787718} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d6fa15e630d96bdd6194c4b89e78f1c8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d6fa15e630d96bdd6194c4b89e78f1c8"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"d6fa15e630d96bdd6194c4b89e78f1c8","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"17/Jul/2024:11:35:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d6fa15e630d96bdd6194c4b89e78f1c8"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5874d2691450063692b8571a328c9dc5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5874d2691450063692b8571a328c9dc5","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:35:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/686c871e-75b5-4272-bbce-fc4cadfd6f71/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":"5874d2691450063692b8571a328c9dc5"} device-1 | {"level":"info","message":"OPTIONS /devices/686c871e-75b5-4272-bbce-fc4cadfd6f71/websocket 200 1ms","method":"OPTIONS","requestID":"5874d2691450063692b8571a328c9dc5","responseTime":1,"status":200,"url":"/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MH0.c-OoT5BFEL9gXD3a8f05a2MWWg7Z8f3AeUJnVIBQSuI","level":"info","message":"auth send jwt","requestID":"e97ce4a7a818d385ff296ac698ffec07"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"e97ce4a7a818d385ff296ac698ffec07","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e97ce4a7a818d385ff296ac698ffec07"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.18643,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"e97ce4a7a818d385ff296ac698ffec07","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216140,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MH0.c-OoT5BFEL9gXD3a8f05a2MWWg7Z8f3AeUJnVIBQSuI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e97ce4a7a818d385ff296ac698ffec07","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e97ce4a7a818d385ff296ac698ffec07"} gateway-1 | {"time_local":"17/Jul/2024:11:35:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/686c871e-75b5-4272-bbce-fc4cadfd6f71/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":"e97ce4a7a818d385ff296ac698ffec07"} device-1 | {"level":"info","message":"POST /devices/686c871e-75b5-4272-bbce-fc4cadfd6f71/websocket 200 23ms","method":"POST","requestID":"e97ce4a7a818d385ff296ac698ffec07","responseTime":23,"status":200,"url":"/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a416e970dfb13950daa5a3f8d62cf85a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a416e970dfb13950daa5a3f8d62cf85a","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:35:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/13a84624-8d7e-4466-97fd-52543978a1d9/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":"a416e970dfb13950daa5a3f8d62cf85a"} device-1 | {"level":"info","message":"OPTIONS /devices/13a84624-8d7e-4466-97fd-52543978a1d9/websocket 200 1ms","method":"OPTIONS","requestID":"a416e970dfb13950daa5a3f8d62cf85a","responseTime":1,"status":200,"url":"/devices/13a84624-8d7e-4466-97fd-52543978a1d9/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MH0.c-OoT5BFEL9gXD3a8f05a2MWWg7Z8f3AeUJnVIBQSuI","level":"info","message":"auth send jwt","requestID":"119a31084d258444456198d3dbc6db71"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"119a31084d258444456198d3dbc6db71","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"119a31084d258444456198d3dbc6db71"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.74174,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"119a31084d258444456198d3dbc6db71","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216140,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MH0.c-OoT5BFEL9gXD3a8f05a2MWWg7Z8f3AeUJnVIBQSuI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"119a31084d258444456198d3dbc6db71","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"device 'http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"119a31084d258444456198d3dbc6db71"} gateway-1 | {"time_local":"17/Jul/2024:11:35:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/13a84624-8d7e-4466-97fd-52543978a1d9/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":"119a31084d258444456198d3dbc6db71"} device-1 | {"level":"info","message":"POST /devices/13a84624-8d7e-4466-97fd-52543978a1d9/websocket 200 22ms","method":"POST","requestID":"119a31084d258444456198d3dbc6db71","responseTime":22,"status":200,"url":"/devices/13a84624-8d7e-4466-97fd-52543978a1d9/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MH0.c-OoT5BFEL9gXD3a8f05a2MWWg7Z8f3AeUJnVIBQSuI","level":"info","message":"auth send jwt","requestID":"b0d7e71070cfb01cf4d40e7fad7b30cc"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b0d7e71070cfb01cf4d40e7fad7b30cc","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b0d7e71070cfb01cf4d40e7fad7b30cc"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.179722,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b0d7e71070cfb01cf4d40e7fad7b30cc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216140,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MH0.c-OoT5BFEL9gXD3a8f05a2MWWg7Z8f3AeUJnVIBQSuI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b0d7e71070cfb01cf4d40e7fad7b30cc","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13a84624-8d7e-4466-97fd-52543978a1d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13a84624-8d7e-4466-97fd-52543978a1d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:38.824993797Z"}]},"request_id":"617654cb-2bdd-4940-a28b-cd69d55bcd1c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216140.9107933} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b0d7e71070cfb01cf4d40e7fad7b30cc","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b0d7e71070cfb01cf4d40e7fad7b30cc"} gateway-1 | {"time_local":"17/Jul/2024:11:35:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/13a84624-8d7e-4466-97fd-52543978a1d9? 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":"b0d7e71070cfb01cf4d40e7fad7b30cc"} device-1 | {"level":"info","message":"GET /devices/13a84624-8d7e-4466-97fd-52543978a1d9? 200 17ms","method":"GET","requestID":"b0d7e71070cfb01cf4d40e7fad7b30cc","responseTime":17,"status":200,"url":"/devices/13a84624-8d7e-4466-97fd-52543978a1d9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MH0.c-OoT5BFEL9gXD3a8f05a2MWWg7Z8f3AeUJnVIBQSuI","level":"info","message":"auth send jwt","requestID":"4af42fcba7d4bccc841f2832a3554819"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4af42fcba7d4bccc841f2832a3554819","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4af42fcba7d4bccc841f2832a3554819"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.18858,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"4af42fcba7d4bccc841f2832a3554819","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216140,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MH0.c-OoT5BFEL9gXD3a8f05a2MWWg7Z8f3AeUJnVIBQSuI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4af42fcba7d4bccc841f2832a3554819","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686c871e-75b5-4272-bbce-fc4cadfd6f71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686c871e-75b5-4272-bbce-fc4cadfd6f71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:38.873598082Z"}]},"request_id":"7587121a-cfe2-44c2-8c5e-8aafdf0c3292","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216140.9367611} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4af42fcba7d4bccc841f2832a3554819","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4af42fcba7d4bccc841f2832a3554819"} gateway-1 | {"time_local":"17/Jul/2024:11:35:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/686c871e-75b5-4272-bbce-fc4cadfd6f71? 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":"4af42fcba7d4bccc841f2832a3554819"} device-1 | {"level":"info","message":"GET /devices/686c871e-75b5-4272-bbce-fc4cadfd6f71? 200 17ms","method":"GET","requestID":"4af42fcba7d4bccc841f2832a3554819","responseTime":17,"status":200,"url":"/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MH0.c-OoT5BFEL9gXD3a8f05a2MWWg7Z8f3AeUJnVIBQSuI","level":"info","message":"auth send jwt","requestID":"45d352d2976d9a669ba5bc3006c15515"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"45d352d2976d9a669ba5bc3006c15515","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"45d352d2976d9a669ba5bc3006c15515"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:40Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.226768,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"45d352d2976d9a669ba5bc3006c15515","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216140,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MH0.c-OoT5BFEL9gXD3a8f05a2MWWg7Z8f3AeUJnVIBQSuI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"45d352d2976d9a669ba5bc3006c15515","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff"},"level":"info","message":"Attempting to run experiment","requestID":"45d352d2976d9a669ba5bc3006c15515"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff"},"level":"info","message":"Attempting to book experiment","requestID":"45d352d2976d9a669ba5bc3006c15515"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff"},"level":"info","message":"Successfully booked experiment","requestID":"45d352d2976d9a669ba5bc3006c15515"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b229d660-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b22a4b90-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.049339,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b229d660-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216140,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MH0.c-OoT5BFEL9gXD3a8f05a2MWWg7Z8f3AeUJnVIBQSuI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b229d660-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.157092,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b22a4b90-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216140,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MH0.c-OoT5BFEL9gXD3a8f05a2MWWg7Z8f3AeUJnVIBQSuI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b22a4b90-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13a84624-8d7e-4466-97fd-52543978a1d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13a84624-8d7e-4466-97fd-52543978a1d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:38.824993797Z"}]},"request_id":"737c528d-a79b-4a56-8e91-9f3bc3cf4270","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.0124755} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"b229d660-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686c871e-75b5-4272-bbce-fc4cadfd6f71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686c871e-75b5-4272-bbce-fc4cadfd6f71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:38.873598082Z"}]},"request_id":"8ee7cb37-b612-4e29-ba5f-c3e9442e8c1f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.0148296} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b22a4b90-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b229d660-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/13a84624-8d7e-4466-97fd-52543978a1d9? 200 24ms","method":"GET","requestID":"b229d660-4430-11ef-b47c-55a12d3fdb12","responseTime":24,"status":200,"url":"/devices/13a84624-8d7e-4466-97fd-52543978a1d9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b22a4b90-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/686c871e-75b5-4272-bbce-fc4cadfd6f71? 200 22ms","method":"GET","requestID":"b22a4b90-4430-11ef-b47c-55a12d3fdb12","responseTime":22,"status":200,"url":"/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff"},"level":"info","message":"Setting up experiment","requestID":"45d352d2976d9a669ba5bc3006c15515"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"45d352d2976d9a669ba5bc3006c15515"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff"},"level":"info","message":"Successfully locked booking for experiment","requestID":"45d352d2976d9a669ba5bc3006c15515"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"45d352d2976d9a669ba5bc3006c15515"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"45d352d2976d9a669ba5bc3006c15515"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff"},"level":"info","message":"Attempting to update booking for experiment","requestID":"45d352d2976d9a669ba5bc3006c15515"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff"},"level":"info","message":"Successfully updated booking for experiment","requestID":"45d352d2976d9a669ba5bc3006c15515"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff"},"level":"info","message":"Successfully set up experiment","requestID":"45d352d2976d9a669ba5bc3006c15515"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b2376af0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b237e020-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b2382e40-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.269459,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff"},"level":"info","message":"Successfully running experiment","requestID":"45d352d2976d9a669ba5bc3006c15515"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b2376af0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216140,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MH0.c-OoT5BFEL9gXD3a8f05a2MWWg7Z8f3AeUJnVIBQSuI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b2376af0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.600198,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b237e020-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216140,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MH0.c-OoT5BFEL9gXD3a8f05a2MWWg7Z8f3AeUJnVIBQSuI"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"b237e020-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.867834,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13a84624-8d7e-4466-97fd-52543978a1d9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"39db50b4-32c8-46ac-8023-9597ea7b4e0c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.104001} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13a84624-8d7e-4466-97fd-52543978a1d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13a84624-8d7e-4466-97fd-52543978a1d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:38.824993797Z"}]},"request_id":"7b43f280-9228-4e18-9a48-d00ebd61073f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.1060064} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b2382e40-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b2382e40-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686c871e-75b5-4272-bbce-fc4cadfd6f71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686c871e-75b5-4272-bbce-fc4cadfd6f71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:38.873598082Z"}]},"request_id":"6803fb37-3cb4-4d36-9264-9cb6d970729f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.108205} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"b2376af0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"b237e020-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b2382e40-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/13a84624-8d7e-4466-97fd-52543978a1d9/signaling 200 26ms","method":"POST","requestID":"b2382e40-4430-11ef-b47c-55a12d3fdb12","responseTime":26,"status":200,"url":"/devices/13a84624-8d7e-4466-97fd-52543978a1d9/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b2376af0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/13a84624-8d7e-4466-97fd-52543978a1d9? 200 32ms","method":"GET","requestID":"b2376af0-4430-11ef-b47c-55a12d3fdb12","responseTime":32,"status":200,"url":"/devices/13a84624-8d7e-4466-97fd-52543978a1d9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b237e020-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/686c871e-75b5-4272-bbce-fc4cadfd6f71? 200 30ms","method":"GET","requestID":"b237e020-4430-11ef-b47c-55a12d3fdb12","responseTime":30,"status":200,"url":"/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b23c9b10-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b23d3750-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F55cfeeb6-b36d-4774-9059-3ec1337e74ff#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F55cfeeb6-b36d-4774-9059-3ec1337e74ff","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"fdf82c58-b629-49d1-aa65-b2b702b14d7a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.123722} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3c43f8b3-df39-4b77-babe-d0c39917ca80","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.124131} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"45d352d2976d9a669ba5bc3006c15515","responseTime":28,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686c871e-75b5-4272-bbce-fc4cadfd6f71","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5c2f0db8-aecd-49e6-a6a7-6a791c2bf689","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.1281106} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.513298,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b23c9b10-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b23c9b10-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13a84624-8d7e-4466-97fd-52543978a1d9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f5a61f60-59cd-4501-86d9-9de6d6c537ed","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.1340873} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.940916,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b23c9b10-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/686c871e-75b5-4272-bbce-fc4cadfd6f71/signaling 200 15ms","method":"POST","requestID":"b23c9b10-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b23d3750-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b23d3750-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"45d352d2976d9a669ba5bc3006c15515"} gateway-1 | {"time_local":"17/Jul/2024:11:35:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.193","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"45d352d2976d9a669ba5bc3006c15515"} experiment-1 | {"level":"info","message":"POST /experiments? 201 186ms","method":"POST","requestID":"45d352d2976d9a669ba5bc3006c15515","responseTime":186,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b23d3750-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/13a84624-8d7e-4466-97fd-52543978a1d9/signaling 200 14ms","method":"POST","requestID":"b23d3750-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/13a84624-8d7e-4466-97fd-52543978a1d9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b23fa850-4430-11ef-b47c-55a12d3fdb12"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MX0.o5LjS8IJOHgGDY0TTCgXh6T_ZQtmZHh83SQNEGjNfXs","level":"info","message":"auth send jwt","requestID":"3c979b8be1ef6e6d4ac62a93b35f9475"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3c979b8be1ef6e6d4ac62a93b35f9475","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3c979b8be1ef6e6d4ac62a93b35f9475"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686c871e-75b5-4272-bbce-fc4cadfd6f71","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"10d6adbc-7bfa-40cc-bdd8-1ca58cd641c4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.1472647} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.184699,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.962189,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b23fa850-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b23fa850-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"3c979b8be1ef6e6d4ac62a93b35f9475","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216141,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MX0.o5LjS8IJOHgGDY0TTCgXh6T_ZQtmZHh83SQNEGjNfXs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3c979b8be1ef6e6d4ac62a93b35f9475","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b23fa850-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/686c871e-75b5-4272-bbce-fc4cadfd6f71/signaling 200 11ms","method":"POST","requestID":"b23fa850-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71/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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13a84624-8d7e-4466-97fd-52543978a1d9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13a84624-8d7e-4466-97fd-52543978a1d9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:38.824993797Z"}]},"request_id":"66c18bb0-8496-4464-8a4d-dc4ec1d9fba4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.1537359} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"45d352d2976d9a669ba5bc3006c15515"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff"},"level":"info","message":"Building connection plan","requestID":"45d352d2976d9a669ba5bc3006c15515"} 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":"8931480e-ebd0-4467-b066-db5b9ab34c64"},{"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":"36bc5809-594e-4dde-953c-d14b45980ccc"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"673cab65-6a3b-47a7-a12f-a9e6e342307d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"45d352d2976d9a669ba5bc3006c15515"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3c979b8be1ef6e6d4ac62a93b35f9475","responseTime":2,"status":200,"url":"/relations/query"} 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/13a84624-8d7e-4466-97fd-52543978a1d9"},{"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/686c871e-75b5-4272-bbce-fc4cadfd6f71"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"45d352d2976d9a669ba5bc3006c15515"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"b241f240-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3c979b8be1ef6e6d4ac62a93b35f9475"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} gateway-1 | {"time_local":"17/Jul/2024:11:35:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/13a84624-8d7e-4466-97fd-52543978a1d9? 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":"3c979b8be1ef6e6d4ac62a93b35f9475"} device-1 | {"level":"info","message":"GET /devices/13a84624-8d7e-4466-97fd-52543978a1d9? 200 15ms","method":"GET","requestID":"3c979b8be1ef6e6d4ac62a93b35f9475","responseTime":15,"status":200,"url":"/devices/13a84624-8d7e-4466-97fd-52543978a1d9?"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.793929,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b241f240-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216140,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MH0.c-OoT5BFEL9gXD3a8f05a2MWWg7Z8f3AeUJnVIBQSuI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b241f240-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MX0.o5LjS8IJOHgGDY0TTCgXh6T_ZQtmZHh83SQNEGjNfXs","level":"info","message":"auth send jwt","requestID":"3e7629298200aecf3d22b063e442b946"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3e7629298200aecf3d22b063e442b946","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3e7629298200aecf3d22b063e442b946"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.872681,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"3e7629298200aecf3d22b063e442b946","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216141,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MX0.o5LjS8IJOHgGDY0TTCgXh6T_ZQtmZHh83SQNEGjNfXs"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3e7629298200aecf3d22b063e442b946","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"ffe70902-883f-42df-99ca-6423c7a33e24","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.1724284} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b44a83a7-b95f-4cd5-b7a5-3ad443bf1e5f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.1729603} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"b241f240-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686c871e-75b5-4272-bbce-fc4cadfd6f71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686c871e-75b5-4272-bbce-fc4cadfd6f71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:38.873598082Z"}]},"request_id":"29aec88f-ee6a-4bce-86ed-320e75039765","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.1770213} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3e7629298200aecf3d22b063e442b946","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"b241f240-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"b241f240-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/de875f62-f882-4295-8af3-91510c445132'","requestID":"b241f240-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/de875f62-f882-4295-8af3-91510c445132'","requestID":"b241f240-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"b241f240-4430-11ef-b47c-55a12d3fdb12"} 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":"b241f240-4430-11ef-b47c-55a12d3fdb12","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","requestID":"3e7629298200aecf3d22b063e442b946"} gateway-1 | {"time_local":"17/Jul/2024:11:35:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/686c871e-75b5-4272-bbce-fc4cadfd6f71? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3e7629298200aecf3d22b063e442b946"} device-1 | {"level":"info","message":"GET /devices/686c871e-75b5-4272-bbce-fc4cadfd6f71? 200 22ms","method":"GET","requestID":"3e7629298200aecf3d22b063e442b946","responseTime":22,"status":200,"url":"/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"b241f240-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/de875f62-f882-4295-8af3-91510c445132","device":"13a84624-8d7e-4466-97fd-52543978a1d9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","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"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/de875f62-f882-4295-8af3-91510c445132","device":"686c871e-75b5-4272-bbce-fc4cadfd6f71","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","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"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"45d352d2976d9a669ba5bc3006c15515"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b24b4110-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} device-1 | {"device":"13a84624-8d7e-4466-97fd-52543978a1d9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"13a84624-8d7e-4466-97fd-52543978a1d9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13a84624-8d7e-4466-97fd-52543978a1d9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eb574050-1758-4c18-b0db-0dcfa5836cd8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.2221212} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.368088,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b24b4110-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b24b4110-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b24b4110-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/13a84624-8d7e-4466-97fd-52543978a1d9/signaling 200 9ms","method":"POST","requestID":"b24b4110-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/13a84624-8d7e-4466-97fd-52543978a1d9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b24cc7b0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686c871e-75b5-4272-bbce-fc4cadfd6f71","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b25c40d-a3d8-4ac1-b7e6-3911c81b4d94","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.2321086} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.268036,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b24cc7b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b24cc7b0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b24cc7b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/686c871e-75b5-4272-bbce-fc4cadfd6f71/signaling 200 9ms","method":"POST","requestID":"b24cc7b0-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71/signaling"} device-1 | {"device":"686c871e-75b5-4272-bbce-fc4cadfd6f71","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"686c871e-75b5-4272-bbce-fc4cadfd6f71","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 5068439925011358743 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:9WKN\r\na=ice-pwd:XScPUAHmsCDS8g6QdZj30rXh\r\na=ice-options:trickle\r\na=fingerprint:sha-256 AB:42:C2:86:EB:A0:02:F7:28:DF:31:00:92:AB:47:21:C5:B1:E6:AB:F3:47:DC:F5:5D:7C:5C:9E:8C:E2:06:37\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"686c871e-75b5-4272-bbce-fc4cadfd6f71","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 8232432499437482256 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:zL2p\r\na=ice-pwd:Mlds6o7/Kj1F2kjmQh1htOBG\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9D:2E:56:9C:FD:AB:AD:9F:45:8F:48:BC:7F:5C:FA:EE:81:65:57:1E:8C:DF:EA:17:A7:A0:F0:E4:82:FB:B3:C2\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"13a84624-8d7e-4466-97fd-52543978a1d9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:4019955068 1 udp 2113937151 d1d28265-700b-4e21-8fff-94e635f7df61.local 41663 typ host generation 0 ufrag zL2p network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"13a84624-8d7e-4466-97fd-52543978a1d9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2091910255 1 udp 1677729535 141.24.211.56 41663 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag zL2p network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"13a84624-8d7e-4466-97fd-52543978a1d9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9'"} device-1 | {"content":{"candidate":"candidate:3169923250 1 udp 2113937151 2ba5dbac-5319-43be-ad4f-88c9b90fd959.local 34800 typ host generation 0 ufrag 9WKN network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"686c871e-75b5-4272-bbce-fc4cadfd6f71","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:802853281 1 udp 1677729535 141.24.211.56 34800 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 9WKN network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"686c871e-75b5-4272-bbce-fc4cadfd6f71","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71'"} device-1 | {"device":"686c871e-75b5-4272-bbce-fc4cadfd6f71","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"13a84624-8d7e-4466-97fd-52543978a1d9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/de875f62-f882-4295-8af3-91510c445132' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"de875f62-f882-4295-8af3-91510c445132","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"92ceb9979b7e9c68383abed8c2437afc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"92ceb9979b7e9c68383abed8c2437afc","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"13a84624-8d7e-4466-97fd-52543978a1d9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"686c871e-75b5-4272-bbce-fc4cadfd6f71","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"686c871e-75b5-4272-bbce-fc4cadfd6f71","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} 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/13a84624-8d7e-4466-97fd-52543978a1d9"},{"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/686c871e-75b5-4272-bbce-fc4cadfd6f71"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/de875f62-f882-4295-8af3-91510c445132"}}},"level":"info","message":"received a callback","requestID":"92ceb9979b7e9c68383abed8c2437afc"} device-1 | {"device":"13a84624-8d7e-4466-97fd-52543978a1d9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"13a84624-8d7e-4466-97fd-52543978a1d9","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"92ceb9979b7e9c68383abed8c2437afc","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35: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.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"92ceb9979b7e9c68383abed8c2437afc"} device-1 | {"data":{"peerconnection":"de875f62-f882-4295-8af3-91510c445132","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"de875f62-f882-4295-8af3-91510c445132","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/de875f62-f882-4295-8af3-91510c445132' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"de875f62-f882-4295-8af3-91510c445132","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0800ed14129b428b175bbcec34e739a6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0800ed14129b428b175bbcec34e739a6","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/13a84624-8d7e-4466-97fd-52543978a1d9"},{"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/686c871e-75b5-4272-bbce-fc4cadfd6f71"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/de875f62-f882-4295-8af3-91510c445132"}}},"level":"info","message":"received a callback","requestID":"0800ed14129b428b175bbcec34e739a6"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"b25998f0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fde875f62-f882-4295-8af3-91510c445132","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8b028871-2216-4d55-8ce9-6c38ff06a4e4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.3160017} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.122142,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/de875f62-f882-4295-8af3-91510c445132","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b25998f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/de875f62-f882-4295-8af3-91510c445132","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","method":"POST","requestID":"b25998f0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"b25998f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/de875f62-f882-4295-8af3-91510c445132 200 8ms","method":"GET","requestID":"b25998f0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/peerconnections/de875f62-f882-4295-8af3-91510c445132"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"0800ed14129b428b175bbcec34e739a6","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35: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.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"0800ed14129b428b175bbcec34e739a6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b25e2cd0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13a84624-8d7e-4466-97fd-52543978a1d9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3210b4ef-7a82-4f5e-8bc1-6ac03afd6875","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.3454795} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.181892,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b25e2cd0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b25e2cd0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b25e2cd0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/13a84624-8d7e-4466-97fd-52543978a1d9/signaling 200 9ms","method":"POST","requestID":"b25e2cd0-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/13a84624-8d7e-4466-97fd-52543978a1d9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b25fda80-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686c871e-75b5-4272-bbce-fc4cadfd6f71","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"efb61417-3fa4-4324-828d-c01f98458f0b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.3569639} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.760637,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b25fda80-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b25fda80-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b25fda80-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/686c871e-75b5-4272-bbce-fc4cadfd6f71/signaling 200 9ms","method":"POST","requestID":"b25fda80-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MX0.o5LjS8IJOHgGDY0TTCgXh6T_ZQtmZHh83SQNEGjNfXs","level":"info","message":"auth send jwt","requestID":"394933567e76d9ecc6f38ed00aa083b5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"394933567e76d9ecc6f38ed00aa083b5","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff","requestID":"394933567e76d9ecc6f38ed00aa083b5"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.053377,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"394933567e76d9ecc6f38ed00aa083b5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216141,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MX0.o5LjS8IJOHgGDY0TTCgXh6T_ZQtmZHh83SQNEGjNfXs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"394933567e76d9ecc6f38ed00aa083b5","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff","requestID":"394933567e76d9ecc6f38ed00aa083b5"} gateway-1 | {"time_local":"17/Jul/2024:11:35:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"394933567e76d9ecc6f38ed00aa083b5"} experiment-1 | {"level":"info","message":"GET /experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff 200 13ms","method":"GET","requestID":"394933567e76d9ecc6f38ed00aa083b5","responseTime":13,"status":200,"url":"/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MX0.o5LjS8IJOHgGDY0TTCgXh6T_ZQtmZHh83SQNEGjNfXs","level":"info","message":"auth send jwt","requestID":"12b8d3ee4f77ac04e0a0abb3e9e4b768"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"12b8d3ee4f77ac04e0a0abb3e9e4b768","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff","requestID":"12b8d3ee4f77ac04e0a0abb3e9e4b768"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.685827,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"12b8d3ee4f77ac04e0a0abb3e9e4b768","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216141,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MX0.o5LjS8IJOHgGDY0TTCgXh6T_ZQtmZHh83SQNEGjNfXs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"12b8d3ee4f77ac04e0a0abb3e9e4b768","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff"},"level":"info","message":"Attempting to finish experiment","requestID":"12b8d3ee4f77ac04e0a0abb3e9e4b768"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"b26a3ac0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.545175,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/de875f62-f882-4295-8af3-91510c445132","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b26a3ac0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/de875f62-f882-4295-8af3-91510c445132","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216141,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MX0.o5LjS8IJOHgGDY0TTCgXh6T_ZQtmZHh83SQNEGjNfXs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b26a3ac0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/de875f62-f882-4295-8af3-91510c445132","device":"13a84624-8d7e-4466-97fd-52543978a1d9","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/de875f62-f882-4295-8af3-91510c445132","device":"686c871e-75b5-4272-bbce-fc4cadfd6f71","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/de875f62-f882-4295-8af3-91510c445132' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/de875f62-f882-4295-8af3-91510c445132' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"de875f62-f882-4295-8af3-91510c445132","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fde875f62-f882-4295-8af3-91510c445132': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fde875f62-f882-4295-8af3-91510c445132","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"16fc1489-e6a4-4ed4-b39e-5971db6d7eab","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.440451} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"48cf4c94-fc54-4830-b5ec-6ae48481b8ce","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.440715} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cbfa832af83cbc543cd5f8cecd17278a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"cbfa832af83cbc543cd5f8cecd17278a","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"b26a3ac0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e403bc187af932a2ef22d114d0daa1ef","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9"},{"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/686c871e-75b5-4272-bbce-fc4cadfd6f71"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/de875f62-f882-4295-8af3-91510c445132"}}},"level":"info","message":"received a callback","requestID":"cbfa832af83cbc543cd5f8cecd17278a"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e403bc187af932a2ef22d114d0daa1ef","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":"connected","url":"http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9"},{"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/686c871e-75b5-4272-bbce-fc4cadfd6f71"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/de875f62-f882-4295-8af3-91510c445132"}}},"level":"info","message":"received a callback","requestID":"e403bc187af932a2ef22d114d0daa1ef"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"b26a3ac0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/de875f62-f882-4295-8af3-91510c445132 204 42ms","method":"DELETE","requestID":"b26a3ac0-4430-11ef-b47c-55a12d3fdb12","responseTime":42,"status":204,"url":"/peerconnections/de875f62-f882-4295-8af3-91510c445132"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff"},"level":"info","message":"Successfully finished experiment","requestID":"12b8d3ee4f77ac04e0a0abb3e9e4b768"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b2731460-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13a84624-8d7e-4466-97fd-52543978a1d9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"904298f7-5450-4dab-a755-c9662368022a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.483848} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.801078,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b2731460-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b2731460-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b2731460-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/13a84624-8d7e-4466-97fd-52543978a1d9/signaling 200 11ms","method":"POST","requestID":"b2731460-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/13a84624-8d7e-4466-97fd-52543978a1d9/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F55cfeeb6-b36d-4774-9059-3ec1337e74ff': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F55cfeeb6-b36d-4774-9059-3ec1337e74ff","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"fb1105bf-567b-4977-9375-4268465f5441","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.4908328} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b2751030-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a6cfb6e5-3ad8-4332-ab9f-767d821892de","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.491195} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"12b8d3ee4f77ac04e0a0abb3e9e4b768","responseTime":16,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F686c871e-75b5-4272-bbce-fc4cadfd6f71","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f572c9a1-c34e-471b-83a3-fe840acd9776","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.4967554} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.900397,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b2751030-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b2751030-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b2751030-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/686c871e-75b5-4272-bbce-fc4cadfd6f71/signaling 200 10ms","method":"POST","requestID":"b2751030-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff","requestID":"12b8d3ee4f77ac04e0a0abb3e9e4b768"} gateway-1 | {"time_local":"17/Jul/2024:11:35:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"12b8d3ee4f77ac04e0a0abb3e9e4b768"} experiment-1 | {"level":"info","message":"DELETE /experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff 204 145ms","method":"DELETE","requestID":"12b8d3ee4f77ac04e0a0abb3e9e4b768","responseTime":145,"status":204,"url":"/experiments/55cfeeb6-b36d-4774-9059-3ec1337e74ff"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 112ms","method":"POST","requestID":"cbfa832af83cbc543cd5f8cecd17278a","responseTime":112,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35: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.116","http_referrer":"","http_user_agent":"node-fetch","requestID":"cbfa832af83cbc543cd5f8cecd17278a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 112ms","method":"POST","requestID":"e403bc187af932a2ef22d114d0daa1ef","responseTime":112,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35: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.116","http_referrer":"","http_user_agent":"node-fetch","requestID":"e403bc187af932a2ef22d114d0daa1ef"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MX0.o5LjS8IJOHgGDY0TTCgXh6T_ZQtmZHh83SQNEGjNfXs","level":"info","message":"auth send jwt","requestID":"ac563511cf4f83290bdd9987f17be6c2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ac563511cf4f83290bdd9987f17be6c2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ac563511cf4f83290bdd9987f17be6c2"} gateway-1 | {"time_local":"17/Jul/2024:11:35:41 +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.713","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ed33f2029ed175338d6755bb24221170"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.792195,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ac563511cf4f83290bdd9987f17be6c2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216141,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MX0.o5LjS8IJOHgGDY0TTCgXh6T_ZQtmZHh83SQNEGjNfXs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ac563511cf4f83290bdd9987f17be6c2","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"17/Jul/2024:11:35:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2887","request_time":"0.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":"b219e43c672826dff02d69fe1152ecc9"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bdd26ac-641c-48a2-932d-da0b31b8f62f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"006559e1-7ea8-4618-aaa0-4e071802e2f4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.5729933} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ac563511cf4f83290bdd9987f17be6c2","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a109078-2c2b-4303-86b3-5650250b4e2a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.5778325} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ac563511cf4f83290bdd9987f17be6c2","responseTime":3,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/686c871e-75b5-4272-bbce-fc4cadfd6f71' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/13a84624-8d7e-4466-97fd-52543978a1d9' closed"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bdd26ac-641c-48a2-932d-da0b31b8f62f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"98d158f1-b7a5-49a5-a011-bbfb603a4f96","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.5897934} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a912ba61-573d-4c14-bd38-680636a9e755","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.5898929} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"ac563511cf4f83290bdd9987f17be6c2","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bdd26ac-641c-48a2-932d-da0b31b8f62f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bdd26ac-641c-48a2-932d-da0b31b8f62f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:41.589774391Z"}]},"request_id":"b47b910d-bf4f-4e8a-9f36-ea6044865403","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.593484} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ac563511cf4f83290bdd9987f17be6c2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ac563511cf4f83290bdd9987f17be6c2"} gateway-1 | {"time_local":"17/Jul/2024:11:35:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ac563511cf4f83290bdd9987f17be6c2"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"ac563511cf4f83290bdd9987f17be6c2","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MX0.o5LjS8IJOHgGDY0TTCgXh6T_ZQtmZHh83SQNEGjNfXs","level":"info","message":"auth send jwt","requestID":"2417dbcc1732eb9d394f642ec2280ffa"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2417dbcc1732eb9d394f642ec2280ffa","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2417dbcc1732eb9d394f642ec2280ffa"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.700842,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"2417dbcc1732eb9d394f642ec2280ffa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216141,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0MX0.o5LjS8IJOHgGDY0TTCgXh6T_ZQtmZHh83SQNEGjNfXs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2417dbcc1732eb9d394f642ec2280ffa","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"de4640d3-c858-485b-a484-5400d53a1599","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.6185052} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2417dbcc1732eb9d394f642ec2280ffa","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4477e75b-84e9-4c3b-90e7-ffc41fb33fe0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.6233475} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2417dbcc1732eb9d394f642ec2280ffa","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"b5284d48-0ded-450e-b405-e260a7266223","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.6395688} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa63b888-fa58-4384-a315-dda1d76358da","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.6397355} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"2417dbcc1732eb9d394f642ec2280ffa","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:41.639549636Z"}]},"request_id":"0c6ce160-d8a3-4c29-b031-e0fdfda534dc","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216141.6444392} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2417dbcc1732eb9d394f642ec2280ffa","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2417dbcc1732eb9d394f642ec2280ffa"} gateway-1 | {"time_local":"17/Jul/2024:11:35:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2417dbcc1732eb9d394f642ec2280ffa"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"2417dbcc1732eb9d394f642ec2280ffa","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0Mn0.ENoSlpiX7AFwhSKC6ABVCMVF7LZF4wTXCa7BG4disxw","level":"info","message":"auth send jwt","requestID":"d0dcb16819d23abac14090d981e94236"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d0dcb16819d23abac14090d981e94236","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"d0dcb16819d23abac14090d981e94236"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:42Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.174448,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d0dcb16819d23abac14090d981e94236","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216142,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0Mn0.ENoSlpiX7AFwhSKC6ABVCMVF7LZF4wTXCa7BG4disxw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d0dcb16819d23abac14090d981e94236","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:41.639549636Z"}]},"request_id":"2802cadc-0145-4437-a70d-876b5b9cc298","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216142.1539907} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d0dcb16819d23abac14090d981e94236","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7aee066e-f052-4c91-94ab-0b86ec2cd2b2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216142.159289} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"d0dcb16819d23abac14090d981e94236","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:41.639549636Z"}]},"request_id":"64f236fb-c818-4502-9e7d-9381eec4dd73","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216142.1733413} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d0dcb16819d23abac14090d981e94236","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"d0dcb16819d23abac14090d981e94236"} gateway-1 | {"time_local":"17/Jul/2024:11:35:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77 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":"d0dcb16819d23abac14090d981e94236"} device-1 | {"level":"info","message":"PATCH /devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77 200 37ms","method":"PATCH","requestID":"d0dcb16819d23abac14090d981e94236","responseTime":37,"status":200,"url":"/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0Mn0.ENoSlpiX7AFwhSKC6ABVCMVF7LZF4wTXCa7BG4disxw","level":"info","message":"auth send jwt","requestID":"8817bb372e9372dd1c8dbfde98a5acdb"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8817bb372e9372dd1c8dbfde98a5acdb","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8817bb372e9372dd1c8dbfde98a5acdb"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:42Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.327809,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"8817bb372e9372dd1c8dbfde98a5acdb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216142,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0Mn0.ENoSlpiX7AFwhSKC6ABVCMVF7LZF4wTXCa7BG4disxw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8817bb372e9372dd1c8dbfde98a5acdb","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8817bb372e9372dd1c8dbfde98a5acdb"} gateway-1 | {"time_local":"17/Jul/2024:11:35:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"8817bb372e9372dd1c8dbfde98a5acdb"} device-1 | {"level":"info","message":"POST /devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77/websocket 200 22ms","method":"POST","requestID":"8817bb372e9372dd1c8dbfde98a5acdb","responseTime":22,"status":200,"url":"/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9e5822e5bdffe43ed5f40b16ab1bc606","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9e5822e5bdffe43ed5f40b16ab1bc606","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:35:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f/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":"9e5822e5bdffe43ed5f40b16ab1bc606"} device-1 | {"level":"info","message":"OPTIONS /devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f/websocket 200 1ms","method":"OPTIONS","requestID":"9e5822e5bdffe43ed5f40b16ab1bc606","responseTime":1,"status":200,"url":"/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0M30.uQHf04y1K6EYY2ZB562FYrkWI4VbOKmQGGa6DYdjhWY","level":"info","message":"auth send jwt","requestID":"db64d7e4fefd927a60192bf5d674ef00"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"db64d7e4fefd927a60192bf5d674ef00","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"db64d7e4fefd927a60192bf5d674ef00"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.203403,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"db64d7e4fefd927a60192bf5d674ef00","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216143,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0M30.uQHf04y1K6EYY2ZB562FYrkWI4VbOKmQGGa6DYdjhWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"db64d7e4fefd927a60192bf5d674ef00","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"db64d7e4fefd927a60192bf5d674ef00"} device-1 | {"level":"info","message":"POST /devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f/websocket 200 23ms","method":"POST","requestID":"db64d7e4fefd927a60192bf5d674ef00","responseTime":23,"status":200,"url":"/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:35:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f/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":"db64d7e4fefd927a60192bf5d674ef00"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0M30.uQHf04y1K6EYY2ZB562FYrkWI4VbOKmQGGa6DYdjhWY","level":"info","message":"auth send jwt","requestID":"c93b8245f7184ae274927bcd5b48fb51"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c93b8245f7184ae274927bcd5b48fb51","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c93b8245f7184ae274927bcd5b48fb51"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.469103,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c93b8245f7184ae274927bcd5b48fb51","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216143,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0M30.uQHf04y1K6EYY2ZB562FYrkWI4VbOKmQGGa6DYdjhWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c93b8245f7184ae274927bcd5b48fb51","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bdd26ac-641c-48a2-932d-da0b31b8f62f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bdd26ac-641c-48a2-932d-da0b31b8f62f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:41.589774391Z"}]},"request_id":"c710db0c-3766-4aba-9f6e-59da84bf3afc","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216143.7019575} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c93b8245f7184ae274927bcd5b48fb51","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c93b8245f7184ae274927bcd5b48fb51"} gateway-1 | {"time_local":"17/Jul/2024:11:35:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f? 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":"c93b8245f7184ae274927bcd5b48fb51"} device-1 | {"level":"info","message":"GET /devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f? 200 19ms","method":"GET","requestID":"c93b8245f7184ae274927bcd5b48fb51","responseTime":19,"status":200,"url":"/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0M30.uQHf04y1K6EYY2ZB562FYrkWI4VbOKmQGGa6DYdjhWY","level":"info","message":"auth send jwt","requestID":"c9f98281bf6cd3cc60b07a87ad70e527"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c9f98281bf6cd3cc60b07a87ad70e527","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c9f98281bf6cd3cc60b07a87ad70e527"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.314874,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c9f98281bf6cd3cc60b07a87ad70e527","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216143,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0M30.uQHf04y1K6EYY2ZB562FYrkWI4VbOKmQGGa6DYdjhWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c9f98281bf6cd3cc60b07a87ad70e527","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:41.639549636Z"}]},"request_id":"5d912d42-1da4-4b7a-a222-c67299c83403","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216143.7281468} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c9f98281bf6cd3cc60b07a87ad70e527","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c9f98281bf6cd3cc60b07a87ad70e527"} gateway-1 | {"time_local":"17/Jul/2024:11:35:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77? 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":"c9f98281bf6cd3cc60b07a87ad70e527"} device-1 | {"level":"info","message":"GET /devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77? 200 17ms","method":"GET","requestID":"c9f98281bf6cd3cc60b07a87ad70e527","responseTime":17,"status":200,"url":"/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0M30.uQHf04y1K6EYY2ZB562FYrkWI4VbOKmQGGa6DYdjhWY","level":"info","message":"auth send jwt","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4514ccde6dce457a72d14b8d629d6f6c","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.131404,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"4514ccde6dce457a72d14b8d629d6f6c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216143,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0M30.uQHf04y1K6EYY2ZB562FYrkWI4VbOKmQGGa6DYdjhWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4514ccde6dce457a72d14b8d629d6f6c","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a"},"level":"info","message":"Attempting to run experiment","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a"},"level":"info","message":"Attempting to book experiment","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a"},"level":"info","message":"Successfully booked experiment","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b3d403f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b3d45210-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.095497,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.502961,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b3d403f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216143,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0M30.uQHf04y1K6EYY2ZB562FYrkWI4VbOKmQGGa6DYdjhWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"b3d403f0-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b3d45210-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216143,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0M30.uQHf04y1K6EYY2ZB562FYrkWI4VbOKmQGGa6DYdjhWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"b3d45210-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bdd26ac-641c-48a2-932d-da0b31b8f62f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bdd26ac-641c-48a2-932d-da0b31b8f62f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:41.589774391Z"}]},"request_id":"fd8f80d0-534a-48ae-9c35-fa8ab398c630","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216143.8078558} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"b3d403f0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:41.639549636Z"}]},"request_id":"9c63b34e-2705-419e-a496-226b122c540b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216143.810084} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"b3d45210-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b3d403f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f? 200 26ms","method":"GET","requestID":"b3d403f0-4430-11ef-b47c-55a12d3fdb12","responseTime":26,"status":200,"url":"/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b3d45210-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77? 200 26ms","method":"GET","requestID":"b3d45210-4430-11ef-b47c-55a12d3fdb12","responseTime":26,"status":200,"url":"/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a"},"level":"info","message":"Setting up experiment","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a"},"level":"info","message":"Successfully locked booking for experiment","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a"},"level":"info","message":"Attempting to update booking for experiment","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a"},"level":"info","message":"Successfully updated booking for experiment","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a"},"level":"info","message":"Successfully set up experiment","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b3e282e0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b3e2d100-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b3e34630-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.842276,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:43Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a"},"level":"info","message":"Successfully running experiment","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b3e282e0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216143,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0M30.uQHf04y1K6EYY2ZB562FYrkWI4VbOKmQGGa6DYdjhWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"b3e282e0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.512562,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b3e2d100-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216143,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0M30.uQHf04y1K6EYY2ZB562FYrkWI4VbOKmQGGa6DYdjhWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"b3e2d100-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bdd26ac-641c-48a2-932d-da0b31b8f62f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2271eb29-fc66-4771-b1d4-1f5f439f6e02","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216143.9023829} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.278361,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b3e34630-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b3e34630-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bdd26ac-641c-48a2-932d-da0b31b8f62f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bdd26ac-641c-48a2-932d-da0b31b8f62f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:41.589774391Z"}]},"request_id":"7bf2fb68-d393-41fc-9966-372e72d952e8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216143.9061677} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:41.639549636Z"}]},"request_id":"ac3a3faa-9003-4213-b854-4e85e259cc15","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216143.9088798} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"b3e282e0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"b3e2d100-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b3e34630-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f/signaling 200 26ms","method":"POST","requestID":"b3e34630-4430-11ef-b47c-55a12d3fdb12","responseTime":26,"status":200,"url":"/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b3e282e0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f? 200 32ms","method":"GET","requestID":"b3e282e0-4430-11ef-b47c-55a12d3fdb12","responseTime":32,"status":200,"url":"/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b3e2d100-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77? 200 31ms","method":"GET","requestID":"b3e2d100-4430-11ef-b47c-55a12d3fdb12","responseTime":31,"status":200,"url":"/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77?"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F37616e3e-9796-42bf-83fd-efef189a508a#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F37616e3e-9796-42bf-83fd-efef189a508a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"5b23d63c-ce8d-4295-a676-017d9b462680","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216143.9201317} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b3e7b300-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8257b2ec-c1d0-444e-bb48-8df827903a0c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216143.9220078} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b3e84f40-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"4514ccde6dce457a72d14b8d629d6f6c","responseTime":24,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"999a56c1-feb3-4745-abfa-2d49b01ba6c6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216143.9271283} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.425674,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b3e7b300-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b3e7b300-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bdd26ac-641c-48a2-932d-da0b31b8f62f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ea3ac8e8-4a56-4aae-a25e-bbf1eb79a117","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216143.9312818} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.671788,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b3e84f40-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b3e84f40-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b3e7b300-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77/signaling 200 14ms","method":"POST","requestID":"b3e7b300-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 193ms","method":"POST","requestID":"4514ccde6dce457a72d14b8d629d6f6c","responseTime":193,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"17/Jul/2024:11:35:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.200","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b3e84f40-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f/signaling 200 13ms","method":"POST","requestID":"b3e84f40-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b3ea9930-4430-11ef-b47c-55a12d3fdb12"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0M30.uQHf04y1K6EYY2ZB562FYrkWI4VbOKmQGGa6DYdjhWY","level":"info","message":"auth send jwt","requestID":"4fa3439e00f7300a0f13bdf372704ced"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4fa3439e00f7300a0f13bdf372704ced","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4fa3439e00f7300a0f13bdf372704ced"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86ca7abb-8345-4cc7-803b-d8a1f2ca8c60","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216143.9442267} authorization-1 | {"client_addr":"127.0.0.1:43434","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.792601,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.36097,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"4fa3439e00f7300a0f13bdf372704ced","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216143,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0M30.uQHf04y1K6EYY2ZB562FYrkWI4VbOKmQGGa6DYdjhWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"4fa3439e00f7300a0f13bdf372704ced","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b3ea9930-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b3ea9930-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bdd26ac-641c-48a2-932d-da0b31b8f62f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bdd26ac-641c-48a2-932d-da0b31b8f62f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:41.589774391Z"}]},"request_id":"644b62f1-8702-4b37-abe6-6f8796529ba4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216143.9491506} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b3ea9930-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77/signaling 200 11ms","method":"POST","requestID":"b3ea9930-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4fa3439e00f7300a0f13bdf372704ced","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a"},"level":"info","message":"Building connection plan","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} 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":"5feafe64-47d7-4a26-bd92-ac464c4118c3"},{"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":"f78b3755-e26a-45f3-addf-3880a718c9dc"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"1ac675d0-4cf3-4774-91bc-f1e0e463dbc9"}]},"level":"info","message":"Built pairwise service configurations","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} 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/7bdd26ac-641c-48a2-932d-da0b31b8f62f"},{"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/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4fa3439e00f7300a0f13bdf372704ced"} device-1 | {"level":"info","message":"GET /devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f? 200 12ms","method":"GET","requestID":"4fa3439e00f7300a0f13bdf372704ced","responseTime":12,"status":200,"url":"/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f?"} gateway-1 | {"time_local":"17/Jul/2024:11:35:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f? 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":"4fa3439e00f7300a0f13bdf372704ced"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"b3ece320-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:43Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0M30.uQHf04y1K6EYY2ZB562FYrkWI4VbOKmQGGa6DYdjhWY","level":"info","message":"auth send jwt","requestID":"6f9fbdb34a011ec683b91bc966f7e4ec"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.744901,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:43Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6f9fbdb34a011ec683b91bc966f7e4ec","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b3ece320-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216143,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0M30.uQHf04y1K6EYY2ZB562FYrkWI4VbOKmQGGa6DYdjhWY"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6f9fbdb34a011ec683b91bc966f7e4ec"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b3ece320-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.839306,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"6f9fbdb34a011ec683b91bc966f7e4ec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216143,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0M30.uQHf04y1K6EYY2ZB562FYrkWI4VbOKmQGGa6DYdjhWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6f9fbdb34a011ec683b91bc966f7e4ec","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:41.639549636Z"}]},"request_id":"2ebcccbc-bd91-48b0-8bdb-56f883d58dee","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216143.9662702} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6f9fbdb34a011ec683b91bc966f7e4ec","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"8b7d5552-58a1-4200-a882-e9634d9db87d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216143.969479} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6f9fbdb34a011ec683b91bc966f7e4ec"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"241a0ea8-16f1-49f3-bada-1b8b66356683","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216143.9697108} gateway-1 | {"time_local":"17/Jul/2024:11:35:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77? 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":"6f9fbdb34a011ec683b91bc966f7e4ec"} device-1 | {"level":"info","message":"GET /devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77? 200 12ms","method":"GET","requestID":"6f9fbdb34a011ec683b91bc966f7e4ec","responseTime":12,"status":200,"url":"/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"b3ece320-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"b3ece320-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"b3ece320-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/ddab0f38-f3d7-460f-9410-9d35ae95b5ee'","requestID":"b3ece320-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ddab0f38-f3d7-460f-9410-9d35ae95b5ee'","requestID":"b3ece320-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"b3ece320-4430-11ef-b47c-55a12d3fdb12"} 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":"b3ece320-4430-11ef-b47c-55a12d3fdb12","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","requestID":"b3ece320-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/ddab0f38-f3d7-460f-9410-9d35ae95b5ee","device":"7bdd26ac-641c-48a2-932d-da0b31b8f62f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","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"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"4514ccde6dce457a72d14b8d629d6f6c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b3f5e3d0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:44Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bdd26ac-641c-48a2-932d-da0b31b8f62f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8323951e-1d7c-4fd8-9e4d-d289a3f6e610","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216144.0184274} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.931359,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b3f5e3d0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b3f5e3d0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b3f5e3d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f/signaling 200 9ms","method":"POST","requestID":"b3f5e3d0-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b3f7b890-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:44Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"41c467d1-48bc-4dba-8007-73d0a13ecbf9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216144.0304205} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.611899,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b3f7b890-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b3f7b890-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b3f7b890-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77/signaling 200 9ms","method":"POST","requestID":"b3f7b890-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77/signaling"} device-1 | {"device":"7bdd26ac-641c-48a2-932d-da0b31b8f62f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"7bdd26ac-641c-48a2-932d-da0b31b8f62f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"ddab0f38-f3d7-460f-9410-9d35ae95b5ee","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 6341662994671032379 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:Gcsp\r\na=ice-pwd:wYud8rZW5Uu1P9XrPkQywWlk\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B9:D9:B9:53:42:95:C9:A0:DC:00:16:AF:78:65:24:9A:5D:27:70:12:17:CC:92:49:AB:83:BC:DB:15:0E:FA:FD\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"7bdd26ac-641c-48a2-932d-da0b31b8f62f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1cf3d748be3cc9f8f371eb7e1d9cecbd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 | {"content":{"candidate":"candidate:2290795824 1 udp 2113937151 d7cf53c7-006c-43eb-978f-1032f162080b.local 34068 typ host generation 0 ufrag Gcsp network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7bdd26ac-641c-48a2-932d-da0b31b8f62f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"7bdd26ac-641c-48a2-932d-da0b31b8f62f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ddab0f38-f3d7-460f-9410-9d35ae95b5ee' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ddab0f38-f3d7-460f-9410-9d35ae95b5ee","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1cf3d748be3cc9f8f371eb7e1d9cecbd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"content":{"candidate":"candidate:463561763 1 udp 1677729535 141.24.211.56 34068 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag Gcsp network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7bdd26ac-641c-48a2-932d-da0b31b8f62f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"7bdd26ac-641c-48a2-932d-da0b31b8f62f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} 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/7bdd26ac-641c-48a2-932d-da0b31b8f62f"},{"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/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ddab0f38-f3d7-460f-9410-9d35ae95b5ee"}}},"level":"info","message":"received a callback","requestID":"1cf3d748be3cc9f8f371eb7e1d9cecbd"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f'"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"1cf3d748be3cc9f8f371eb7e1d9cecbd","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"1cf3d748be3cc9f8f371eb7e1d9cecbd"} device-1 | {"data":{"peerconnection":"ddab0f38-f3d7-460f-9410-9d35ae95b5ee","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7bdd26ac-641c-48a2-932d-da0b31b8f62f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"ddab0f38-f3d7-460f-9410-9d35ae95b5ee","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"7bdd26ac-641c-48a2-932d-da0b31b8f62f","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ddab0f38-f3d7-460f-9410-9d35ae95b5ee' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ddab0f38-f3d7-460f-9410-9d35ae95b5ee","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9f692bed27421a593dbe094138e9bbc2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9f692bed27421a593dbe094138e9bbc2","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/7bdd26ac-641c-48a2-932d-da0b31b8f62f"},{"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/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ddab0f38-f3d7-460f-9410-9d35ae95b5ee"}}},"level":"info","message":"received a callback","requestID":"9f692bed27421a593dbe094138e9bbc2"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"b5419db0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:46Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fddab0f38-f3d7-460f-9410-9d35ae95b5ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"688bf4b5-b6b0-4dad-8fc3-9fdb91946560","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216146.195027} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.339923,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ddab0f38-f3d7-460f-9410-9d35ae95b5ee","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b5419db0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ddab0f38-f3d7-460f-9410-9d35ae95b5ee","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","method":"POST","requestID":"b5419db0-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"b5419db0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/ddab0f38-f3d7-460f-9410-9d35ae95b5ee 200 15ms","method":"GET","requestID":"b5419db0-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/peerconnections/ddab0f38-f3d7-460f-9410-9d35ae95b5ee"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 57ms","method":"POST","requestID":"9f692bed27421a593dbe094138e9bbc2","responseTime":57,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch","requestID":"9f692bed27421a593dbe094138e9bbc2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b548f0b0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:46Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bdd26ac-641c-48a2-932d-da0b31b8f62f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6821c880-6907-4904-9f91-5c948ee4d8e3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216146.2422223} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.021321,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b548f0b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b548f0b0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b548f0b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f/signaling 200 14ms","method":"POST","requestID":"b548f0b0-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b54bafd0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:46Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6412343f-49e4-441c-bdbf-7199274959a4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216146.259726} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.879577,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b54bafd0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b54bafd0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b54bafd0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77/signaling 200 14ms","method":"POST","requestID":"b54bafd0-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0Nn0.Suz0Ad9GfMhyB-tVQ9uToUOcqNe7f7oNdIAHRVMg3nA","level":"info","message":"auth send jwt","requestID":"04e2191dfa126cc7c2026d553118243c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"04e2191dfa126cc7c2026d553118243c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/37616e3e-9796-42bf-83fd-efef189a508a","requestID":"04e2191dfa126cc7c2026d553118243c"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.15544,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"04e2191dfa126cc7c2026d553118243c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216146,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0Nn0.Suz0Ad9GfMhyB-tVQ9uToUOcqNe7f7oNdIAHRVMg3nA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"04e2191dfa126cc7c2026d553118243c","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/37616e3e-9796-42bf-83fd-efef189a508a","requestID":"04e2191dfa126cc7c2026d553118243c"} gateway-1 | {"time_local":"17/Jul/2024:11:35:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/37616e3e-9796-42bf-83fd-efef189a508a 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":"04e2191dfa126cc7c2026d553118243c"} experiment-1 | {"level":"info","message":"GET /experiments/37616e3e-9796-42bf-83fd-efef189a508a 200 12ms","method":"GET","requestID":"04e2191dfa126cc7c2026d553118243c","responseTime":12,"status":200,"url":"/experiments/37616e3e-9796-42bf-83fd-efef189a508a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0Nn0.Suz0Ad9GfMhyB-tVQ9uToUOcqNe7f7oNdIAHRVMg3nA","level":"info","message":"auth send jwt","requestID":"52fcd82f1de55d0e8c7a6dd2b8861e61"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"52fcd82f1de55d0e8c7a6dd2b8861e61","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/37616e3e-9796-42bf-83fd-efef189a508a","requestID":"52fcd82f1de55d0e8c7a6dd2b8861e61"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.718941,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"52fcd82f1de55d0e8c7a6dd2b8861e61","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216146,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0Nn0.Suz0Ad9GfMhyB-tVQ9uToUOcqNe7f7oNdIAHRVMg3nA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"52fcd82f1de55d0e8c7a6dd2b8861e61","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a"},"level":"info","message":"Attempting to finish experiment","requestID":"52fcd82f1de55d0e8c7a6dd2b8861e61"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"b5543b50-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.313745,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ddab0f38-f3d7-460f-9410-9d35ae95b5ee","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b5543b50-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/ddab0f38-f3d7-460f-9410-9d35ae95b5ee","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216146,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0Nn0.Suz0Ad9GfMhyB-tVQ9uToUOcqNe7f7oNdIAHRVMg3nA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b5543b50-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/ddab0f38-f3d7-460f-9410-9d35ae95b5ee","device":"7bdd26ac-641c-48a2-932d-da0b31b8f62f","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ddab0f38-f3d7-460f-9410-9d35ae95b5ee' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ddab0f38-f3d7-460f-9410-9d35ae95b5ee' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ddab0f38-f3d7-460f-9410-9d35ae95b5ee","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fddab0f38-f3d7-460f-9410-9d35ae95b5ee': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fddab0f38-f3d7-460f-9410-9d35ae95b5ee","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"0d114e52-1e5d-4f7c-9762-00849296cc3c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216146.3358328} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26c70dc7-f233-4308-8bd3-7455c1bbeee5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216146.336575} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b84b2bee1b9a5c85b6c285e79393a813","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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","method":"POST","requestID":"b5543b50-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b84b2bee1b9a5c85b6c285e79393a813","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1b0c89776200a42e16018a25bec9462e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1b0c89776200a42e16018a25bec9462e","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f"},{"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/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ddab0f38-f3d7-460f-9410-9d35ae95b5ee"}}},"level":"info","message":"received a callback","requestID":"b84b2bee1b9a5c85b6c285e79393a813"} 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/7bdd26ac-641c-48a2-932d-da0b31b8f62f"},{"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/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ddab0f38-f3d7-460f-9410-9d35ae95b5ee"}}},"level":"info","message":"received a callback","requestID":"1b0c89776200a42e16018a25bec9462e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"b5543b50-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/ddab0f38-f3d7-460f-9410-9d35ae95b5ee 204 52ms","method":"DELETE","requestID":"b5543b50-4430-11ef-b47c-55a12d3fdb12","responseTime":52,"status":204,"url":"/peerconnections/ddab0f38-f3d7-460f-9410-9d35ae95b5ee"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37616e3e-9796-42bf-83fd-efef189a508a"},"level":"info","message":"Successfully finished experiment","requestID":"52fcd82f1de55d0e8c7a6dd2b8861e61"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b55fd410-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:46Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bdd26ac-641c-48a2-932d-da0b31b8f62f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"52217199-45b2-4d1d-9f91-e65bf1915216","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216146.3937984} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.965316,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b55fd410-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b55fd410-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b55fd410-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f/signaling 200 16ms","method":"POST","requestID":"b55fd410-4430-11ef-b47c-55a12d3fdb12","responseTime":16,"status":200,"url":"/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F37616e3e-9796-42bf-83fd-efef189a508a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F37616e3e-9796-42bf-83fd-efef189a508a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"eaca547a-9347-428d-8d33-bc29347a3b25","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216146.4021342} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4c5fccd4-7378-4ef9-93fc-98b857d2baed","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216146.4030533} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b562e150-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"52fcd82f1de55d0e8c7a6dd2b8861e61","responseTime":23,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:46Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fadfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc684d49-42ed-471c-b900-bf2341246456","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216146.412599} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.552339,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b562e150-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b562e150-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b562e150-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77/signaling 200 15ms","method":"POST","requestID":"b562e150-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/37616e3e-9796-42bf-83fd-efef189a508a","requestID":"52fcd82f1de55d0e8c7a6dd2b8861e61"} gateway-1 | {"time_local":"17/Jul/2024:11:35:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/37616e3e-9796-42bf-83fd-efef189a508a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"52fcd82f1de55d0e8c7a6dd2b8861e61"} experiment-1 | {"level":"info","message":"DELETE /experiments/37616e3e-9796-42bf-83fd-efef189a508a 204 186ms","method":"DELETE","requestID":"52fcd82f1de55d0e8c7a6dd2b8861e61","responseTime":186,"status":204,"url":"/experiments/37616e3e-9796-42bf-83fd-efef189a508a"} gateway-1 | {"time_local":"17/Jul/2024:11:35:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2836","request_time":"4.273","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"55dcf1d68c1c1cc10c2ea88ebbe61994"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 143ms","method":"POST","requestID":"b84b2bee1b9a5c85b6c285e79393a813","responseTime":143,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"b84b2bee1b9a5c85b6c285e79393a813"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"1b0c89776200a42e16018a25bec9462e","responseTime":141,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0Nn0.Suz0Ad9GfMhyB-tVQ9uToUOcqNe7f7oNdIAHRVMg3nA","level":"info","message":"auth send jwt","requestID":"f0bae12abfce427f8bc0a416ea425912"} gateway-1 | {"time_local":"17/Jul/2024:11:35:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"1b0c89776200a42e16018a25bec9462e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f0bae12abfce427f8bc0a416ea425912","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f0bae12abfce427f8bc0a416ea425912"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:46Z"} gateway-1 | {"time_local":"17/Jul/2024:11:35:46 +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.826","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"47b2afa26be0d9d4115943be5d92233e"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.191719,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"f0bae12abfce427f8bc0a416ea425912","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216146,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0Nn0.Suz0Ad9GfMhyB-tVQ9uToUOcqNe7f7oNdIAHRVMg3nA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f0bae12abfce427f8bc0a416ea425912","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/adfc7edb-6bfb-41d0-ba6c-f51e8f6b3c77' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F208d51ce-b185-46ca-b6e6-cfa9e4b9f622","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"49b05076-69c3-444e-9294-dc6e503ee872","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216146.506745} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f0bae12abfce427f8bc0a416ea425912","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7bdd26ac-641c-48a2-932d-da0b31b8f62f' 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:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da119341-2d05-427a-b013-c2ea35cf7819","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216146.5112703} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f0bae12abfce427f8bc0a416ea425912","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F208d51ce-b185-46ca-b6e6-cfa9e4b9f622","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"ffecb62f-0082-4a3a-b917-7bfb7cd6a57d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216146.5196674} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8c4d27a0-b423-4a60-9b69-9d91441cfb88","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216146.5200303} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"f0bae12abfce427f8bc0a416ea425912","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F208d51ce-b185-46ca-b6e6-cfa9e4b9f622","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F208d51ce-b185-46ca-b6e6-cfa9e4b9f622","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:46.519645910Z"}]},"request_id":"ae399abf-1e21-4a5c-91a2-17d04ecf4c87","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216146.5243025} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f0bae12abfce427f8bc0a416ea425912","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f0bae12abfce427f8bc0a416ea425912"} gateway-1 | {"time_local":"17/Jul/2024:11:35:46 +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":"f0bae12abfce427f8bc0a416ea425912"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"f0bae12abfce427f8bc0a416ea425912","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0Nn0.Suz0Ad9GfMhyB-tVQ9uToUOcqNe7f7oNdIAHRVMg3nA","level":"info","message":"auth send jwt","requestID":"f4b1990f49ac8ca9d865bfc075b65bd6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f4b1990f49ac8ca9d865bfc075b65bd6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f4b1990f49ac8ca9d865bfc075b65bd6"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.729866,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"f4b1990f49ac8ca9d865bfc075b65bd6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216146,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0Nn0.Suz0Ad9GfMhyB-tVQ9uToUOcqNe7f7oNdIAHRVMg3nA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f4b1990f49ac8ca9d865bfc075b65bd6","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"777078c1-e936-478f-8063-a70a4a743c4e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216146.5530715} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f4b1990f49ac8ca9d865bfc075b65bd6","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ad84863-07a0-4770-bfe8-3f1ed92f4cb8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216146.5578992} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f4b1990f49ac8ca9d865bfc075b65bd6","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"919f3053-abe1-4a1d-bc24-1b457774a3f7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216146.5686579} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d3ccd10-653c-48b3-bf3e-955e881e4a9e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216146.568823} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"f4b1990f49ac8ca9d865bfc075b65bd6","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:46.568629358Z"}]},"request_id":"cd9fd665-c230-45d5-b6a7-21d50fb7f755","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216146.5734015} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f4b1990f49ac8ca9d865bfc075b65bd6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f4b1990f49ac8ca9d865bfc075b65bd6"} gateway-1 | {"time_local":"17/Jul/2024:11:35:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f4b1990f49ac8ca9d865bfc075b65bd6"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"f4b1990f49ac8ca9d865bfc075b65bd6","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0N30.Z8dC7mLsgOGySWFhFBP4TsgTRDEkPWUoZiBkrDQo59U","level":"info","message":"auth send jwt","requestID":"6ff2d6440a1fe744cbf1b9c6d8a5a16e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6ff2d6440a1fe744cbf1b9c6d8a5a16e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"6ff2d6440a1fe744cbf1b9c6d8a5a16e"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.108333,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"6ff2d6440a1fe744cbf1b9c6d8a5a16e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216147,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0N30.Z8dC7mLsgOGySWFhFBP4TsgTRDEkPWUoZiBkrDQo59U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6ff2d6440a1fe744cbf1b9c6d8a5a16e","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:46.568629358Z"}]},"request_id":"8a66a104-235d-4424-8a16-b4b3b816375d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216147.08061} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6ff2d6440a1fe744cbf1b9c6d8a5a16e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d56d082-e183-4368-900f-715fa3a3e6ac","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216147.0869825} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"6ff2d6440a1fe744cbf1b9c6d8a5a16e","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:46.568629358Z"}]},"request_id":"55f7c3b8-8aab-4ae3-95e3-fa8b5931ae58","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216147.0994227} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6ff2d6440a1fe744cbf1b9c6d8a5a16e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"6ff2d6440a1fe744cbf1b9c6d8a5a16e"} gateway-1 | {"time_local":"17/Jul/2024:11:35:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28 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":"6ff2d6440a1fe744cbf1b9c6d8a5a16e"} device-1 | {"level":"info","message":"PATCH /devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28 200 34ms","method":"PATCH","requestID":"6ff2d6440a1fe744cbf1b9c6d8a5a16e","responseTime":34,"status":200,"url":"/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0N30.Z8dC7mLsgOGySWFhFBP4TsgTRDEkPWUoZiBkrDQo59U","level":"info","message":"auth send jwt","requestID":"d99976ffeee1f8afc8cd617dbf4c6440"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d99976ffeee1f8afc8cd617dbf4c6440","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d99976ffeee1f8afc8cd617dbf4c6440"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:47Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.136341,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d99976ffeee1f8afc8cd617dbf4c6440","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216147,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0N30.Z8dC7mLsgOGySWFhFBP4TsgTRDEkPWUoZiBkrDQo59U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d99976ffeee1f8afc8cd617dbf4c6440","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d99976ffeee1f8afc8cd617dbf4c6440"} gateway-1 | {"time_local":"17/Jul/2024:11:35:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28/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":"d99976ffeee1f8afc8cd617dbf4c6440"} device-1 | {"level":"info","message":"POST /devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28/websocket 200 21ms","method":"POST","requestID":"d99976ffeee1f8afc8cd617dbf4c6440","responseTime":21,"status":200,"url":"/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d6d208e012bb1f141ee46d5e8ba3141d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d6d208e012bb1f141ee46d5e8ba3141d","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:35:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622/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":"d6d208e012bb1f141ee46d5e8ba3141d"} device-1 | {"level":"info","message":"OPTIONS /devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622/websocket 200 1ms","method":"OPTIONS","requestID":"d6d208e012bb1f141ee46d5e8ba3141d","responseTime":1,"status":200,"url":"/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0OH0.EvGz81a6PvQxmB0XtLXqKBXpdvUIexVb3C2Xgpj64II","level":"info","message":"auth send jwt","requestID":"b8c0913519202a51397183e096ed9abc"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b8c0913519202a51397183e096ed9abc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b8c0913519202a51397183e096ed9abc"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.335915,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b8c0913519202a51397183e096ed9abc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216148,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0OH0.EvGz81a6PvQxmB0XtLXqKBXpdvUIexVb3C2Xgpj64II"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b8c0913519202a51397183e096ed9abc","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b8c0913519202a51397183e096ed9abc"} gateway-1 | {"time_local":"17/Jul/2024:11:35:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622/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":"b8c0913519202a51397183e096ed9abc"} device-1 | {"level":"info","message":"POST /devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622/websocket 200 23ms","method":"POST","requestID":"b8c0913519202a51397183e096ed9abc","responseTime":23,"status":200,"url":"/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0OH0.EvGz81a6PvQxmB0XtLXqKBXpdvUIexVb3C2Xgpj64II","level":"info","message":"auth send jwt","requestID":"fafabfd65bc17b17f0f9c3e4fb476e0c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fafabfd65bc17b17f0f9c3e4fb476e0c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fafabfd65bc17b17f0f9c3e4fb476e0c"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.260196,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"fafabfd65bc17b17f0f9c3e4fb476e0c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216148,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0OH0.EvGz81a6PvQxmB0XtLXqKBXpdvUIexVb3C2Xgpj64II"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fafabfd65bc17b17f0f9c3e4fb476e0c","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F208d51ce-b185-46ca-b6e6-cfa9e4b9f622","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F208d51ce-b185-46ca-b6e6-cfa9e4b9f622","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:46.519645910Z"}]},"request_id":"ad7946a2-d3fb-4e99-bf5a-ea411bdca22b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216148.6321018} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fafabfd65bc17b17f0f9c3e4fb476e0c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fafabfd65bc17b17f0f9c3e4fb476e0c"} gateway-1 | {"time_local":"17/Jul/2024:11:35:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622? 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":"fafabfd65bc17b17f0f9c3e4fb476e0c"} device-1 | {"level":"info","message":"GET /devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622? 200 19ms","method":"GET","requestID":"fafabfd65bc17b17f0f9c3e4fb476e0c","responseTime":19,"status":200,"url":"/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0OH0.EvGz81a6PvQxmB0XtLXqKBXpdvUIexVb3C2Xgpj64II","level":"info","message":"auth send jwt","requestID":"61186999b5bb1b44202df14c95bc6445"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"61186999b5bb1b44202df14c95bc6445","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"61186999b5bb1b44202df14c95bc6445"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.318091,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"61186999b5bb1b44202df14c95bc6445","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216148,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0OH0.EvGz81a6PvQxmB0XtLXqKBXpdvUIexVb3C2Xgpj64II"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"61186999b5bb1b44202df14c95bc6445","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:46.568629358Z"}]},"request_id":"eb5f0f79-7937-4520-b2f3-471f7a4e389e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216148.6601026} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"61186999b5bb1b44202df14c95bc6445","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"61186999b5bb1b44202df14c95bc6445"} gateway-1 | {"time_local":"17/Jul/2024:11:35:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28? 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":"61186999b5bb1b44202df14c95bc6445"} device-1 | {"level":"info","message":"GET /devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28? 200 20ms","method":"GET","requestID":"61186999b5bb1b44202df14c95bc6445","responseTime":20,"status":200,"url":"/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0OH0.EvGz81a6PvQxmB0XtLXqKBXpdvUIexVb3C2Xgpj64II","level":"info","message":"auth send jwt","requestID":"463468f0a452c0a9265c1a07e798f15c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"463468f0a452c0a9265c1a07e798f15c","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"463468f0a452c0a9265c1a07e798f15c"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.320754,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"463468f0a452c0a9265c1a07e798f15c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216148,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0OH0.EvGz81a6PvQxmB0XtLXqKBXpdvUIexVb3C2Xgpj64II"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"463468f0a452c0a9265c1a07e798f15c","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e"},"level":"info","message":"Attempting to run experiment","requestID":"463468f0a452c0a9265c1a07e798f15c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e"},"level":"info","message":"Attempting to book experiment","requestID":"463468f0a452c0a9265c1a07e798f15c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e"},"level":"info","message":"Successfully booked experiment","requestID":"463468f0a452c0a9265c1a07e798f15c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b6c41f00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b6c46d20-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.649121,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b6c41f00-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216148,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0OH0.EvGz81a6PvQxmB0XtLXqKBXpdvUIexVb3C2Xgpj64II"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b6c41f00-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52472","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52472","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.405595,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b6c46d20-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216148,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0OH0.EvGz81a6PvQxmB0XtLXqKBXpdvUIexVb3C2Xgpj64II"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"b6c46d20-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F208d51ce-b185-46ca-b6e6-cfa9e4b9f622","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F208d51ce-b185-46ca-b6e6-cfa9e4b9f622","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:46.519645910Z"}]},"request_id":"c0bf0779-d232-4334-886e-f38f432f8c04","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216148.7332103} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"b6c41f00-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:46.568629358Z"}]},"request_id":"c93d4114-b165-45a9-a22e-c8bc80a86e17","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216148.7386854} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b6c41f00-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b6c46d20-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622? 200 19ms","method":"GET","requestID":"b6c41f00-4430-11ef-b47c-55a12d3fdb12","responseTime":19,"status":200,"url":"/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b6c46d20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28? 200 21ms","method":"GET","requestID":"b6c46d20-4430-11ef-b47c-55a12d3fdb12","responseTime":21,"status":200,"url":"/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e"},"level":"info","message":"Setting up experiment","requestID":"463468f0a452c0a9265c1a07e798f15c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"463468f0a452c0a9265c1a07e798f15c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e"},"level":"info","message":"Successfully locked booking for experiment","requestID":"463468f0a452c0a9265c1a07e798f15c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"463468f0a452c0a9265c1a07e798f15c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"463468f0a452c0a9265c1a07e798f15c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e"},"level":"info","message":"Attempting to update booking for experiment","requestID":"463468f0a452c0a9265c1a07e798f15c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e"},"level":"info","message":"Successfully updated booking for experiment","requestID":"463468f0a452c0a9265c1a07e798f15c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e"},"level":"info","message":"Successfully set up experiment","requestID":"463468f0a452c0a9265c1a07e798f15c"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b6d05400-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b6d0a220-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b6d0f040-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e"},"level":"info","message":"Successfully running experiment","requestID":"463468f0a452c0a9265c1a07e798f15c"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.326953,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52472","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b6d05400-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216148,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0OH0.EvGz81a6PvQxmB0XtLXqKBXpdvUIexVb3C2Xgpj64II"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b6d05400-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52472","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.843174,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b6d0a220-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216148,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0OH0.EvGz81a6PvQxmB0XtLXqKBXpdvUIexVb3C2Xgpj64II"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"b6d0a220-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:46.568629358Z"}]},"request_id":"2ed318ab-2449-4df1-852f-ae80a666393f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216148.816082} authorization-1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"b6d0a220-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F208d51ce-b185-46ca-b6e6-cfa9e4b9f622","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F208d51ce-b185-46ca-b6e6-cfa9e4b9f622","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:46.519645910Z"}]},"request_id":"841918bf-fc99-4674-8c4b-b0891cd4a565","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216148.8185413} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F208d51ce-b185-46ca-b6e6-cfa9e4b9f622","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"110dbd33-8382-48e3-814b-19a3a936540c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216148.818932} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b6d05400-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.634763,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b6d0f040-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","method":"POST","requestID":"b6d0f040-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b6d0a220-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28? 200 26ms","method":"GET","requestID":"b6d0a220-4430-11ef-b47c-55a12d3fdb12","responseTime":26,"status":200,"url":"/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b6d05400-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622? 200 29ms","method":"GET","requestID":"b6d05400-4430-11ef-b47c-55a12d3fdb12","responseTime":29,"status":200,"url":"/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b6d0f040-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9666e6ac-055e-42ac-824f-5789b91f548e#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9666e6ac-055e-42ac-824f-5789b91f548e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"735277a2-8e09-48d2-aed6-e60160304017","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216148.8303897} device-1 | {"level":"info","message":"POST /devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622/signaling 200 26ms","method":"POST","requestID":"b6d0f040-4430-11ef-b47c-55a12d3fdb12","responseTime":26,"status":200,"url":"/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622/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:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"90cfd121-8954-42ae-ae3e-137bf99a3fbe","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216148.8309174} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b6d53600-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"463468f0a452c0a9265c1a07e798f15c","responseTime":22,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b6d5ab30-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:48Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"463468f0a452c0a9265c1a07e798f15c"} gateway-1 | {"time_local":"17/Jul/2024:11:35:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.175","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"463468f0a452c0a9265c1a07e798f15c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 169ms","method":"POST","requestID":"463468f0a452c0a9265c1a07e798f15c","responseTime":169,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F208d51ce-b185-46ca-b6e6-cfa9e4b9f622","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6fb7c66e-f85d-467f-be64-81beb0ed8972","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216148.8437457} authorization-1 | {"client_addr":"127.0.0.1:52472","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":10.765785,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b6d53600-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b6d53600-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"794464d0-6f0d-495a-a376-d3f131edaf3a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216148.8491092} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0OH0.EvGz81a6PvQxmB0XtLXqKBXpdvUIexVb3C2Xgpj64II","level":"info","message":"auth send jwt","requestID":"9e66ae8299f4011e306256b9d8286f7e"} authorization-1 | {"client_addr":"127.0.0.1:52472","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.768897,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:48Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9e66ae8299f4011e306256b9d8286f7e","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b6d5ab30-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b6d5ab30-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9e66ae8299f4011e306256b9d8286f7e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b6d53600-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:48Z"} device-1 | {"level":"info","message":"POST /devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622/signaling 200 22ms","method":"POST","requestID":"b6d53600-4430-11ef-b47c-55a12d3fdb12","responseTime":22,"status":200,"url":"/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.085754,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:48Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b6d5ab30-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9e66ae8299f4011e306256b9d8286f7e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216148,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0OH0.EvGz81a6PvQxmB0XtLXqKBXpdvUIexVb3C2Xgpj64II"} device-1 | {"level":"info","message":"POST /devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28/signaling 200 21ms","method":"POST","requestID":"b6d5ab30-4430-11ef-b47c-55a12d3fdb12","responseTime":21,"status":200,"url":"/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9e66ae8299f4011e306256b9d8286f7e","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b6d92da0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F208d51ce-b185-46ca-b6e6-cfa9e4b9f622","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F208d51ce-b185-46ca-b6e6-cfa9e4b9f622","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:46.519645910Z"}]},"request_id":"406239d0-877a-4389-9b1f-e448af6ac9d4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216148.8595603} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"9e66ae8299f4011e306256b9d8286f7e","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dd090d99-e59b-4dd8-89f1-f04b56301722","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216148.862985} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.115327,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b6d92da0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9e66ae8299f4011e306256b9d8286f7e"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b6d92da0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"17/Jul/2024:11:35:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622? 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":"9e66ae8299f4011e306256b9d8286f7e"} device-1 | {"level":"info","message":"GET /devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622? 200 14ms","method":"GET","requestID":"9e66ae8299f4011e306256b9d8286f7e","responseTime":14,"status":200,"url":"/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b6d92da0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28/signaling 200 10ms","method":"POST","requestID":"b6d92da0-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"463468f0a452c0a9265c1a07e798f15c"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e"},"level":"info","message":"Building connection plan","requestID":"463468f0a452c0a9265c1a07e798f15c"} 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":"5c87cba0-db7d-42c1-a633-eea1cc7d780d"},{"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":"3aa1fdeb-5dfa-40f7-87a0-b7af71375736"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b8509f09-d9cf-4110-9353-fee21862bb90"}]},"level":"info","message":"Built pairwise service configurations","requestID":"463468f0a452c0a9265c1a07e798f15c"} 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/208d51ce-b185-46ca-b6e6-cfa9e4b9f622"},{"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/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"463468f0a452c0a9265c1a07e798f15c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0OH0.EvGz81a6PvQxmB0XtLXqKBXpdvUIexVb3C2Xgpj64II","level":"info","message":"auth send jwt","requestID":"24ba6c25ddf8324fd414d2c75fa0a247"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"24ba6c25ddf8324fd414d2c75fa0a247","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"b6db5080-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"24ba6c25ddf8324fd414d2c75fa0a247"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.6803,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52472","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b6db5080-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216148,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0OH0.EvGz81a6PvQxmB0XtLXqKBXpdvUIexVb3C2Xgpj64II"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b6db5080-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52472","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6264,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"24ba6c25ddf8324fd414d2c75fa0a247","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216148,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE0OH0.EvGz81a6PvQxmB0XtLXqKBXpdvUIexVb3C2Xgpj64II"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"24ba6c25ddf8324fd414d2c75fa0a247","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:46.568629358Z"}]},"request_id":"0cd35b8c-200d-4dc0-a57f-a533690b5297","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216148.8828423} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"24ba6c25ddf8324fd414d2c75fa0a247","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"24ba6c25ddf8324fd414d2c75fa0a247"} gateway-1 | {"time_local":"17/Jul/2024:11:35:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28? 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":"24ba6c25ddf8324fd414d2c75fa0a247"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"6138f9cb-916b-4ec0-bd42-9952c802320e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216148.8881001} device-1 | {"level":"info","message":"GET /devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28? 200 15ms","method":"GET","requestID":"24ba6c25ddf8324fd414d2c75fa0a247","responseTime":15,"status":200,"url":"/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7dacec2e-9bfc-42c0-b36c-70e53d04471a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216148.8882551} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"b6db5080-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"b6db5080-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"b6db5080-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/3a4001ab-8ccc-40c8-8373-0e4e464bc177'","requestID":"b6db5080-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3a4001ab-8ccc-40c8-8373-0e4e464bc177'","requestID":"b6db5080-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"b6db5080-4430-11ef-b47c-55a12d3fdb12"} 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":"b6db5080-4430-11ef-b47c-55a12d3fdb12","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","requestID":"b6db5080-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/3a4001ab-8ccc-40c8-8373-0e4e464bc177","device":"208d51ce-b185-46ca-b6e6-cfa9e4b9f622","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","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"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"463468f0a452c0a9265c1a07e798f15c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b6e45130-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F208d51ce-b185-46ca-b6e6-cfa9e4b9f622","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ad7db2ff-e331-462e-970d-ac22e515feed","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216148.9359143} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.308736,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b6e45130-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b6e45130-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b6e45130-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622/signaling 200 8ms","method":"POST","requestID":"b6e45130-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b6e5fee0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2403f8e2-96bb-49d6-91dc-f21f2e6036e9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216148.9461975} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.18623,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b6e5fee0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b6e5fee0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b6e5fee0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28/signaling 200 8ms","method":"POST","requestID":"b6e5fee0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28/signaling"} device-1 | {"device":"208d51ce-b185-46ca-b6e6-cfa9e4b9f622","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"208d51ce-b185-46ca-b6e6-cfa9e4b9f622","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"3a4001ab-8ccc-40c8-8373-0e4e464bc177","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 5565431938161582914 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:k6wX\r\na=ice-pwd:MTDc928+wxAEjut1Z+lZEzUY\r\na=ice-options:trickle\r\na=fingerprint:sha-256 E8:79:9F:C0:05:3A:78:7D:42:49:21:57:51:BE:4E:5C:3A:88:1E:E6:4F:F5:CA:D1:2E:75:C3:13:17:62:75:48\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"208d51ce-b185-46ca-b6e6-cfa9e4b9f622","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:4012844525 1 udp 2113937151 856043a4-e999-4cfd-9447-3763392229c6.local 39379 typ host generation 0 ufrag k6wX network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"208d51ce-b185-46ca-b6e6-cfa9e4b9f622","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"208d51ce-b185-46ca-b6e6-cfa9e4b9f622","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:1795313554 1 udp 1677729535 141.24.211.56 39379 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag k6wX network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"208d51ce-b185-46ca-b6e6-cfa9e4b9f622","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3a4001ab-8ccc-40c8-8373-0e4e464bc177' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3a4001ab-8ccc-40c8-8373-0e4e464bc177","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"208d51ce-b185-46ca-b6e6-cfa9e4b9f622","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622'"} device-1 | {"device":"dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"44649649f672d93cd5460721aec76e7c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"44649649f672d93cd5460721aec76e7c","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/208d51ce-b185-46ca-b6e6-cfa9e4b9f622"},{"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/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3a4001ab-8ccc-40c8-8373-0e4e464bc177"}}},"level":"info","message":"received a callback","requestID":"44649649f672d93cd5460721aec76e7c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"44649649f672d93cd5460721aec76e7c","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"44649649f672d93cd5460721aec76e7c"} device-1 | {"data":{"peerconnection":"3a4001ab-8ccc-40c8-8373-0e4e464bc177","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"208d51ce-b185-46ca-b6e6-cfa9e4b9f622","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"3a4001ab-8ccc-40c8-8373-0e4e464bc177","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"208d51ce-b185-46ca-b6e6-cfa9e4b9f622","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3a4001ab-8ccc-40c8-8373-0e4e464bc177' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3a4001ab-8ccc-40c8-8373-0e4e464bc177","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3d4cb537a483b8ce7a5dfab893868333","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3d4cb537a483b8ce7a5dfab893868333","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/208d51ce-b185-46ca-b6e6-cfa9e4b9f622"},{"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/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3a4001ab-8ccc-40c8-8373-0e4e464bc177"}}},"level":"info","message":"received a callback","requestID":"3d4cb537a483b8ce7a5dfab893868333"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"b82e8470-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3a4001ab-8ccc-40c8-8373-0e4e464bc177","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2ed8efe4-b692-4c68-b82b-fa34f8875e25","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.1015506} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.269612,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3a4001ab-8ccc-40c8-8373-0e4e464bc177","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b82e8470-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3a4001ab-8ccc-40c8-8373-0e4e464bc177","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","method":"POST","requestID":"b82e8470-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"b82e8470-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/3a4001ab-8ccc-40c8-8373-0e4e464bc177 200 12ms","method":"GET","requestID":"b82e8470-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/peerconnections/3a4001ab-8ccc-40c8-8373-0e4e464bc177"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"3d4cb537a483b8ce7a5dfab893868333","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"3d4cb537a483b8ce7a5dfab893868333"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b8333f60-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F208d51ce-b185-46ca-b6e6-cfa9e4b9f622","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"729fe66a-05a7-4c49-b7a1-3fa49d67614b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.1334546} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.606094,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b8333f60-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b8333f60-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b8333f60-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622/signaling 200 14ms","method":"POST","requestID":"b8333f60-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b8358950-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2fba5f6b-c61b-42b3-be95-a81fd9b757c3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.1479409} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.304566,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b8358950-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b8358950-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b8358950-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28/signaling 200 13ms","method":"POST","requestID":"b8358950-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1MX0.cLqcazeDUtlabI14VbxU1afKGYomOozYOUVR0lrqpWY","level":"info","message":"auth send jwt","requestID":"480a444074c056b55b1f9079ebe6202e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"480a444074c056b55b1f9079ebe6202e","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9666e6ac-055e-42ac-824f-5789b91f548e","requestID":"480a444074c056b55b1f9079ebe6202e"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.255622,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"480a444074c056b55b1f9079ebe6202e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216151,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1MX0.cLqcazeDUtlabI14VbxU1afKGYomOozYOUVR0lrqpWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"480a444074c056b55b1f9079ebe6202e","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/9666e6ac-055e-42ac-824f-5789b91f548e","requestID":"480a444074c056b55b1f9079ebe6202e"} gateway-1 | {"time_local":"17/Jul/2024:11:35:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9666e6ac-055e-42ac-824f-5789b91f548e HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"480a444074c056b55b1f9079ebe6202e"} experiment-1 | {"level":"info","message":"GET /experiments/9666e6ac-055e-42ac-824f-5789b91f548e 200 18ms","method":"GET","requestID":"480a444074c056b55b1f9079ebe6202e","responseTime":18,"status":200,"url":"/experiments/9666e6ac-055e-42ac-824f-5789b91f548e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1MX0.cLqcazeDUtlabI14VbxU1afKGYomOozYOUVR0lrqpWY","level":"info","message":"auth send jwt","requestID":"7a58221002d0b8fdf9147696a5b8a5ac"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7a58221002d0b8fdf9147696a5b8a5ac","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/9666e6ac-055e-42ac-824f-5789b91f548e","requestID":"7a58221002d0b8fdf9147696a5b8a5ac"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.112299,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"7a58221002d0b8fdf9147696a5b8a5ac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216151,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1MX0.cLqcazeDUtlabI14VbxU1afKGYomOozYOUVR0lrqpWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7a58221002d0b8fdf9147696a5b8a5ac","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e"},"level":"info","message":"Attempting to finish experiment","requestID":"7a58221002d0b8fdf9147696a5b8a5ac"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"b8439310-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.304218,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3a4001ab-8ccc-40c8-8373-0e4e464bc177","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b8439310-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/3a4001ab-8ccc-40c8-8373-0e4e464bc177","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216151,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1MX0.cLqcazeDUtlabI14VbxU1afKGYomOozYOUVR0lrqpWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b8439310-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/3a4001ab-8ccc-40c8-8373-0e4e464bc177","device":"208d51ce-b185-46ca-b6e6-cfa9e4b9f622","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3a4001ab-8ccc-40c8-8373-0e4e464bc177' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3a4001ab-8ccc-40c8-8373-0e4e464bc177' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3a4001ab-8ccc-40c8-8373-0e4e464bc177","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3a4001ab-8ccc-40c8-8373-0e4e464bc177': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3a4001ab-8ccc-40c8-8373-0e4e464bc177","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"0491ccd1-f3b1-4de7-9b6c-aac3afbc1184","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.2604692} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"153246ee-e280-42da-bc26-1a6a76ba46c5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.2612207} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"685670240fed27e26641f308a3e20fd3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 13ms","method":"POST","requestID":"b8439310-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"685670240fed27e26641f308a3e20fd3","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"98eeff0badb3a872432da816b74baadb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622"},{"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/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3a4001ab-8ccc-40c8-8373-0e4e464bc177"}}},"level":"info","message":"received a callback","requestID":"685670240fed27e26641f308a3e20fd3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"98eeff0badb3a872432da816b74baadb","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622"},{"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/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3a4001ab-8ccc-40c8-8373-0e4e464bc177"}}},"level":"info","message":"received a callback","requestID":"98eeff0badb3a872432da816b74baadb"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"b8439310-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/3a4001ab-8ccc-40c8-8373-0e4e464bc177 204 52ms","method":"DELETE","requestID":"b8439310-4430-11ef-b47c-55a12d3fdb12","responseTime":52,"status":204,"url":"/peerconnections/3a4001ab-8ccc-40c8-8373-0e4e464bc177"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/9666e6ac-055e-42ac-824f-5789b91f548e"},"level":"info","message":"Successfully finished experiment","requestID":"7a58221002d0b8fdf9147696a5b8a5ac"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b84f2bd0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F208d51ce-b185-46ca-b6e6-cfa9e4b9f622","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b583fa73-2a5c-4c7a-a228-91e4b8fc5911","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.3168974} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.138118,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b84f2bd0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b84f2bd0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9666e6ac-055e-42ac-824f-5789b91f548e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9666e6ac-055e-42ac-824f-5789b91f548e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"06a757f0-b2d2-4095-91aa-db6df23b4176","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.324019} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b84f2bd0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622/signaling 200 16ms","method":"POST","requestID":"b84f2bd0-4430-11ef-b47c-55a12d3fdb12","responseTime":16,"status":200,"url":"/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622/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:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"097b0518-6960-4ccb-bcd2-0598818b384c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.324646} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"7a58221002d0b8fdf9147696a5b8a5ac","responseTime":20,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b8523910-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdd7cd352-8ea6-4c1b-ace0-c91f7de20e28","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c3c0988d-55e3-47fa-97ec-8cbafefa7c18","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.3368278} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.673455,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b8523910-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b8523910-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b8523910-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28/signaling 200 15ms","method":"POST","requestID":"b8523910-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/9666e6ac-055e-42ac-824f-5789b91f548e","requestID":"7a58221002d0b8fdf9147696a5b8a5ac"} gateway-1 | {"time_local":"17/Jul/2024:11:35:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/9666e6ac-055e-42ac-824f-5789b91f548e 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":"7a58221002d0b8fdf9147696a5b8a5ac"} experiment-1 | {"level":"info","message":"DELETE /experiments/9666e6ac-055e-42ac-824f-5789b91f548e 204 175ms","method":"DELETE","requestID":"7a58221002d0b8fdf9147696a5b8a5ac","responseTime":175,"status":204,"url":"/experiments/9666e6ac-055e-42ac-824f-5789b91f548e"} gateway-1 | {"time_local":"17/Jul/2024:11:35:51 +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.259","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4c65e46369ce539f186354d719d0c156"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 128ms","method":"POST","requestID":"685670240fed27e26641f308a3e20fd3","responseTime":128,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"685670240fed27e26641f308a3e20fd3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"98eeff0badb3a872432da816b74baadb","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"98eeff0badb3a872432da816b74baadb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1MX0.cLqcazeDUtlabI14VbxU1afKGYomOozYOUVR0lrqpWY","level":"info","message":"auth send jwt","requestID":"d26f4b5635d20a7b27b5ae502c57d84f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d26f4b5635d20a7b27b5ae502c57d84f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d26f4b5635d20a7b27b5ae502c57d84f"} gateway-1 | {"time_local":"17/Jul/2024:11:35:51 +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.804","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a3e5c169d31e64c8ab47aef88a413af3"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.024648,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d26f4b5635d20a7b27b5ae502c57d84f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216151,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1MX0.cLqcazeDUtlabI14VbxU1afKGYomOozYOUVR0lrqpWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d26f4b5635d20a7b27b5ae502c57d84f","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/dd7cd352-8ea6-4c1b-ace0-c91f7de20e28' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ef3dd24f-46ae-422f-87cb-d3fb0184d193","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.421235} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d26f4b5635d20a7b27b5ae502c57d84f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/208d51ce-b185-46ca-b6e6-cfa9e4b9f622' 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:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"742a6b6d-8ac2-4f1b-8fbe-ba9f7f4e7df0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.428188} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"d26f4b5635d20a7b27b5ae502c57d84f","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"5bc53f03-db0d-492b-9f1a-3a9690250eb7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.4388897} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a26d2a0-e565-4189-9ac2-2716c59e435c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.4391263} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"d26f4b5635d20a7b27b5ae502c57d84f","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:51.438867730Z"}]},"request_id":"eb1c7411-b207-47cc-8252-71d34ba9e9ee","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.4455705} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d26f4b5635d20a7b27b5ae502c57d84f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d26f4b5635d20a7b27b5ae502c57d84f"} gateway-1 | {"time_local":"17/Jul/2024:11:35:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d26f4b5635d20a7b27b5ae502c57d84f"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"d26f4b5635d20a7b27b5ae502c57d84f","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1MX0.cLqcazeDUtlabI14VbxU1afKGYomOozYOUVR0lrqpWY","level":"info","message":"auth send jwt","requestID":"2e7b25664156f07c23605477585607fe"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2e7b25664156f07c23605477585607fe","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2e7b25664156f07c23605477585607fe"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.682732,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"2e7b25664156f07c23605477585607fe","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216151,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1MX0.cLqcazeDUtlabI14VbxU1afKGYomOozYOUVR0lrqpWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2e7b25664156f07c23605477585607fe","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bb1419f-33d4-4854-8f3a-4d71c3957198","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"26cc1ca2-1c97-440b-a8b5-683fa83b7294","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.4754164} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2e7b25664156f07c23605477585607fe","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ed6317d-780d-49a9-bda5-9dd94dda4d78","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.4798675} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"2e7b25664156f07c23605477585607fe","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bb1419f-33d4-4854-8f3a-4d71c3957198","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"9da2675c-e6ea-41d1-94ac-07a7d2bb1f86","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.4910176} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42ee3c00-6bf0-4853-afb8-63370be27b48","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.4911745} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"2e7b25664156f07c23605477585607fe","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bb1419f-33d4-4854-8f3a-4d71c3957198","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bb1419f-33d4-4854-8f3a-4d71c3957198","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:51.490996004Z"}]},"request_id":"fac0bb58-dab1-4405-8d23-82e062cc77a7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.4954941} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2e7b25664156f07c23605477585607fe","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2e7b25664156f07c23605477585607fe"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"2e7b25664156f07c23605477585607fe","responseTime":44,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"17/Jul/2024:11:35:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2e7b25664156f07c23605477585607fe"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1MX0.cLqcazeDUtlabI14VbxU1afKGYomOozYOUVR0lrqpWY","level":"info","message":"auth send jwt","requestID":"e4201885e648e004b5b392bc47320763"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e4201885e648e004b5b392bc47320763","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"e4201885e648e004b5b392bc47320763"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.043751,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"e4201885e648e004b5b392bc47320763","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216151,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1MX0.cLqcazeDUtlabI14VbxU1afKGYomOozYOUVR0lrqpWY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e4201885e648e004b5b392bc47320763","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:51.438867730Z"}]},"request_id":"a9d1dc93-2c7b-4f36-8614-16eaba7da562","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.9844203} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e4201885e648e004b5b392bc47320763","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95c9d701-1549-440d-b69f-9a7a0d1e9e8a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216151.9893155} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e4201885e648e004b5b392bc47320763","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:51.438867730Z"}]},"request_id":"7689e1dd-76fa-4cc0-93f6-ec352d49ba66","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216152.0016909} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e4201885e648e004b5b392bc47320763","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"e4201885e648e004b5b392bc47320763"} gateway-1 | {"time_local":"17/Jul/2024:11:35:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.036","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e4201885e648e004b5b392bc47320763"} device-1 | {"level":"info","message":"PATCH /devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc 200 30ms","method":"PATCH","requestID":"e4201885e648e004b5b392bc47320763","responseTime":30,"status":200,"url":"/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1Mn0.TivW6_ik77HacgKZxHV8nqwuTPAcT5T971ZLWeJZSOM","level":"info","message":"auth send jwt","requestID":"28edcf9dde2dc5662d203bc98cc84c67"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"28edcf9dde2dc5662d203bc98cc84c67","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"28edcf9dde2dc5662d203bc98cc84c67"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:52Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.082562,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"28edcf9dde2dc5662d203bc98cc84c67","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216152,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1Mn0.TivW6_ik77HacgKZxHV8nqwuTPAcT5T971ZLWeJZSOM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"28edcf9dde2dc5662d203bc98cc84c67","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"28edcf9dde2dc5662d203bc98cc84c67"} device-1 | {"level":"info","message":"POST /devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc/websocket 200 19ms","method":"POST","requestID":"28edcf9dde2dc5662d203bc98cc84c67","responseTime":19,"status":200,"url":"/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:35:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc/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":"28edcf9dde2dc5662d203bc98cc84c67"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"464e0074d2091c89197fdbd05b0bd086","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"464e0074d2091c89197fdbd05b0bd086","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:35:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9bb1419f-33d4-4854-8f3a-4d71c3957198/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":"464e0074d2091c89197fdbd05b0bd086"} device-1 | {"level":"info","message":"OPTIONS /devices/9bb1419f-33d4-4854-8f3a-4d71c3957198/websocket 200 1ms","method":"OPTIONS","requestID":"464e0074d2091c89197fdbd05b0bd086","responseTime":1,"status":200,"url":"/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1M30.XFF-rr0cR3zlYC_1KKWc-uwM_MCK51957zrYIyQe_9s","level":"info","message":"auth send jwt","requestID":"6b98efc68c035f84d0399d86e8cdfe20"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6b98efc68c035f84d0399d86e8cdfe20","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6b98efc68c035f84d0399d86e8cdfe20"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.189656,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"6b98efc68c035f84d0399d86e8cdfe20","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216153,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1M30.XFF-rr0cR3zlYC_1KKWc-uwM_MCK51957zrYIyQe_9s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6b98efc68c035f84d0399d86e8cdfe20","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6b98efc68c035f84d0399d86e8cdfe20"} gateway-1 | {"time_local":"17/Jul/2024:11:35:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9bb1419f-33d4-4854-8f3a-4d71c3957198/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":"6b98efc68c035f84d0399d86e8cdfe20"} device-1 | {"level":"info","message":"POST /devices/9bb1419f-33d4-4854-8f3a-4d71c3957198/websocket 200 22ms","method":"POST","requestID":"6b98efc68c035f84d0399d86e8cdfe20","responseTime":22,"status":200,"url":"/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1M30.XFF-rr0cR3zlYC_1KKWc-uwM_MCK51957zrYIyQe_9s","level":"info","message":"auth send jwt","requestID":"a45fd5ae758c802a8712b935d7870a52"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a45fd5ae758c802a8712b935d7870a52","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a45fd5ae758c802a8712b935d7870a52"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.139675,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a45fd5ae758c802a8712b935d7870a52","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216153,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1M30.XFF-rr0cR3zlYC_1KKWc-uwM_MCK51957zrYIyQe_9s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a45fd5ae758c802a8712b935d7870a52","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:51.438867730Z"}]},"request_id":"67bf733a-ab0b-43bb-bf81-95134150c0b0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216153.5445037} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a45fd5ae758c802a8712b935d7870a52","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a45fd5ae758c802a8712b935d7870a52"} gateway-1 | {"time_local":"17/Jul/2024:11:35:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc? 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":"a45fd5ae758c802a8712b935d7870a52"} device-1 | {"level":"info","message":"GET /devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc? 200 19ms","method":"GET","requestID":"a45fd5ae758c802a8712b935d7870a52","responseTime":19,"status":200,"url":"/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1M30.XFF-rr0cR3zlYC_1KKWc-uwM_MCK51957zrYIyQe_9s","level":"info","message":"auth send jwt","requestID":"a1ca75709c609f1580e3610387c011a1"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a1ca75709c609f1580e3610387c011a1","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a1ca75709c609f1580e3610387c011a1"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.914946,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a1ca75709c609f1580e3610387c011a1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216153,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1M30.XFF-rr0cR3zlYC_1KKWc-uwM_MCK51957zrYIyQe_9s"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a1ca75709c609f1580e3610387c011a1","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bb1419f-33d4-4854-8f3a-4d71c3957198","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bb1419f-33d4-4854-8f3a-4d71c3957198","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:51.490996004Z"}]},"request_id":"d9a9c949-4a05-41b8-a681-87d45d4b6990","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216153.5712545} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a1ca75709c609f1580e3610387c011a1","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a1ca75709c609f1580e3610387c011a1"} device-1 | {"level":"info","message":"GET /devices/9bb1419f-33d4-4854-8f3a-4d71c3957198? 200 19ms","method":"GET","requestID":"a1ca75709c609f1580e3610387c011a1","responseTime":19,"status":200,"url":"/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198?"} gateway-1 | {"time_local":"17/Jul/2024:11:35:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9bb1419f-33d4-4854-8f3a-4d71c3957198? 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":"a1ca75709c609f1580e3610387c011a1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1M30.XFF-rr0cR3zlYC_1KKWc-uwM_MCK51957zrYIyQe_9s","level":"info","message":"auth send jwt","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2f4d2daca5f0c07d67e6171782dd4349","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.22894,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"2f4d2daca5f0c07d67e6171782dd4349","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216153,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1M30.XFF-rr0cR3zlYC_1KKWc-uwM_MCK51957zrYIyQe_9s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2f4d2daca5f0c07d67e6171782dd4349","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65"},"level":"info","message":"Attempting to run experiment","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65"},"level":"info","message":"Attempting to book experiment","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65"},"level":"info","message":"Successfully booked experiment","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b9b17af0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b9b1a200-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.811353,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b9b17af0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216153,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1M30.XFF-rr0cR3zlYC_1KKWc-uwM_MCK51957zrYIyQe_9s"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b9b17af0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35734","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"client_addr":"127.0.0.1:35734","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.781194,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b9b1a200-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216153,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1M30.XFF-rr0cR3zlYC_1KKWc-uwM_MCK51957zrYIyQe_9s"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"b9b1a200-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:51.438867730Z"}]},"request_id":"90a17d15-0ef5-4fc0-b75f-e1aa56ea4621","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216153.641905} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b9b17af0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bb1419f-33d4-4854-8f3a-4d71c3957198","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bb1419f-33d4-4854-8f3a-4d71c3957198","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:51.490996004Z"}]},"request_id":"63be67fe-d8c8-495b-a2fb-4e1108a906bc","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216153.6456275} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b9b17af0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b9b1a200-4430-11ef-b47c-55a12d3fdb12","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc? 200 16ms","method":"GET","requestID":"b9b17af0-4430-11ef-b47c-55a12d3fdb12","responseTime":16,"status":200,"url":"/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b9b1a200-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/9bb1419f-33d4-4854-8f3a-4d71c3957198? 200 19ms","method":"GET","requestID":"b9b1a200-4430-11ef-b47c-55a12d3fdb12","responseTime":19,"status":200,"url":"/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65"},"level":"info","message":"Setting up experiment","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65"},"level":"info","message":"Successfully locked booking for experiment","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65"},"level":"info","message":"Attempting to update booking for experiment","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65"},"level":"info","message":"Successfully updated booking for experiment","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65"},"level":"info","message":"Successfully set up experiment","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b9bd13b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b9bd61d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b9bdaff0-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65"},"level":"info","message":"Successfully running experiment","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.564438,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"client_addr":"127.0.0.1:35734","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b9bd13b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216153,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1M30.XFF-rr0cR3zlYC_1KKWc-uwM_MCK51957zrYIyQe_9s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b9bd13b0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35734","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.176598,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b9bd61d0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216153,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1M30.XFF-rr0cR3zlYC_1KKWc-uwM_MCK51957zrYIyQe_9s"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"b9bd61d0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce472de0-0155-48ad-b536-c93b6170704d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216153.7185209} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.276686,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b9bdaff0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b9bdaff0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b9bdaff0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc/signaling 200 14ms","method":"POST","requestID":"b9bdaff0-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc/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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:51.438867730Z"}]},"request_id":"2cf00cc2-24c0-4cf0-9fc6-2b9a129ba30d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216153.7239485} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"b9bd13b0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bb1419f-33d4-4854-8f3a-4d71c3957198","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bb1419f-33d4-4854-8f3a-4d71c3957198","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:51.490996004Z"}]},"request_id":"9328d973-3647-44e7-b7f7-ec26b148b4b4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216153.7257106} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b9bd61d0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b9c04800-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:53Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b9bd13b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc? 200 27ms","method":"GET","requestID":"b9bd13b0-4430-11ef-b47c-55a12d3fdb12","responseTime":27,"status":200,"url":"/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc?"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bb1419f-33d4-4854-8f3a-4d71c3957198","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6b9f959c-b4b4-4087-8c56-2e69bf79689c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216153.733626} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.905708,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:53Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b9bd61d0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b9c04800-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"GET /devices/9bb1419f-33d4-4854-8f3a-4d71c3957198? 200 27ms","method":"GET","requestID":"b9bd61d0-4430-11ef-b47c-55a12d3fdb12","responseTime":27,"status":200,"url":"/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198?"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b9c04800-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F39a5b457-c938-4c90-8c4d-c83d7af13e65#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F39a5b457-c938-4c90-8c4d-c83d7af13e65","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"7c057c16-8dc8-4e86-9e3b-ee440989a70a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216153.734694} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"510445cb-f792-4f91-a154-5cc6328f880c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216153.7350466} authorization-1 | {"level":"info","message":"POST /relations/update 200 23ms","method":"POST","requestID":"2f4d2daca5f0c07d67e6171782dd4349","responseTime":23,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b9c1f5b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b9c04800-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/9bb1419f-33d4-4854-8f3a-4d71c3957198/signaling 200 15ms","method":"POST","requestID":"b9c04800-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3586d0cd-684e-4324-b677-631f24267ba7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216153.7451956} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.086644,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b9c1f5b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b9c1f5b0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} gateway-1 | {"time_local":"17/Jul/2024:11:35:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.170","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} experiment-1 | {"level":"info","message":"POST /experiments? 201 163ms","method":"POST","requestID":"2f4d2daca5f0c07d67e6171782dd4349","responseTime":163,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b9c1f5b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc/signaling 200 11ms","method":"POST","requestID":"b9c1f5b0-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b9c41890-4430-11ef-b47c-55a12d3fdb12"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1M30.XFF-rr0cR3zlYC_1KKWc-uwM_MCK51957zrYIyQe_9s","level":"info","message":"auth send jwt","requestID":"c40ea214a99394afceed3bf7bbc58bba"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c40ea214a99394afceed3bf7bbc58bba","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c40ea214a99394afceed3bf7bbc58bba"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"client_addr":"127.0.0.1:35734","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bb1419f-33d4-4854-8f3a-4d71c3957198","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3003bd38-ef86-4e10-bf82-58a5ecf92b08","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216153.7590606} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.6529,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"client_addr":"127.0.0.1:35734","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.023073,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b9c41890-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"b9c41890-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c40ea214a99394afceed3bf7bbc58bba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216153,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1M30.XFF-rr0cR3zlYC_1KKWc-uwM_MCK51957zrYIyQe_9s"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c40ea214a99394afceed3bf7bbc58bba","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b9c41890-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:51.438867730Z"}]},"request_id":"ebea46b4-0f34-43df-afc9-a1f5f9a54d8b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216153.7673237} device-1 | {"level":"info","message":"POST /devices/9bb1419f-33d4-4854-8f3a-4d71c3957198/signaling 200 14ms","method":"POST","requestID":"b9c41890-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c40ea214a99394afceed3bf7bbc58bba","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65"},"level":"info","message":"Building connection plan","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} 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":"2b235a6a-4ec7-4fdd-9d5c-18a540bd9b32"},{"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":"81b1d3f5-d80c-494d-8ff8-e5fd67fe54f8"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7dd45800-c995-4c19-a8ea-dea755132898"}]},"level":"info","message":"Built pairwise service configurations","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} 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/9bb1419f-33d4-4854-8f3a-4d71c3957198"},{"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/2a67ac33-60fa-4bae-b834-abc4d505bbcc"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"b9c6d7b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c40ea214a99394afceed3bf7bbc58bba"} gateway-1 | {"time_local":"17/Jul/2024:11:35:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc? 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":"c40ea214a99394afceed3bf7bbc58bba"} device-1 | {"level":"info","message":"GET /devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc? 200 17ms","method":"GET","requestID":"c40ea214a99394afceed3bf7bbc58bba","responseTime":17,"status":200,"url":"/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc?"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.919872,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b9c6d7b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216153,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1M30.XFF-rr0cR3zlYC_1KKWc-uwM_MCK51957zrYIyQe_9s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b9c6d7b0-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1M30.XFF-rr0cR3zlYC_1KKWc-uwM_MCK51957zrYIyQe_9s","level":"info","message":"auth send jwt","requestID":"ea2df86e42a09ccc357f9f210d53a250"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ea2df86e42a09ccc357f9f210d53a250","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ea2df86e42a09ccc357f9f210d53a250"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.764454,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ea2df86e42a09ccc357f9f210d53a250","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216153,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1M30.XFF-rr0cR3zlYC_1KKWc-uwM_MCK51957zrYIyQe_9s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ea2df86e42a09ccc357f9f210d53a250","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"ea8a6710-7f74-440d-a8fd-3c5e63d31555","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216153.7852967} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb997830-05d5-48cb-b599-c06d2a34d2e7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216153.7855647} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bb1419f-33d4-4854-8f3a-4d71c3957198","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bb1419f-33d4-4854-8f3a-4d71c3957198","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:51.490996004Z"}]},"request_id":"8f7d89f2-6c0c-4929-aee0-6162fdd7002b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216153.7861576} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"b9c6d7b0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ea2df86e42a09ccc357f9f210d53a250","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ea2df86e42a09ccc357f9f210d53a250"} gateway-1 | {"time_local":"17/Jul/2024:11:35:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9bb1419f-33d4-4854-8f3a-4d71c3957198? 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":"ea2df86e42a09ccc357f9f210d53a250"} device-1 | {"level":"info","message":"GET /devices/9bb1419f-33d4-4854-8f3a-4d71c3957198? 200 12ms","method":"GET","requestID":"ea2df86e42a09ccc357f9f210d53a250","responseTime":12,"status":200,"url":"/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"b9c6d7b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"b9c6d7b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/88a73d57-7a17-4326-94a0-1505d6ca7bca'","requestID":"b9c6d7b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/88a73d57-7a17-4326-94a0-1505d6ca7bca'","requestID":"b9c6d7b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"b9c6d7b0-4430-11ef-b47c-55a12d3fdb12"} 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":"b9c6d7b0-4430-11ef-b47c-55a12d3fdb12","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","requestID":"b9c6d7b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/88a73d57-7a17-4326-94a0-1505d6ca7bca","device":"9bb1419f-33d4-4854-8f3a-4d71c3957198","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","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"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"2f4d2daca5f0c07d67e6171782dd4349"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b9cfd860-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a01ddef8-2b20-43eb-80c4-ce24cf389408","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216153.8354046} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.548592,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b9cfd860-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b9cfd860-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b9cfd860-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc/signaling 200 9ms","method":"POST","requestID":"b9cfd860-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b9d18610-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bb1419f-33d4-4854-8f3a-4d71c3957198","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d86b7d3a-2161-401f-8dbd-f0b4edb8a6d5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216153.846292} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.445234,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b9d18610-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b9d18610-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b9d18610-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/9bb1419f-33d4-4854-8f3a-4d71c3957198/signaling 200 10ms","method":"POST","requestID":"b9d18610-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198/signaling"} device-1 | {"device":"9bb1419f-33d4-4854-8f3a-4d71c3957198","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"9bb1419f-33d4-4854-8f3a-4d71c3957198","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"2a67ac33-60fa-4bae-b834-abc4d505bbcc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"88a73d57-7a17-4326-94a0-1505d6ca7bca","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 8919194812121279323 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:vCZE\r\na=ice-pwd:unPyJD2FqqsOgdtmtV2JPux6\r\na=ice-options:trickle\r\na=fingerprint:sha-256 E8:1F:3C:E1:B0:A1:28:95:01:D8:E2:0C:9D:8D:71:1E:BE:0A:F5:B5:EC:C2:02:A0:02:C0:09:75:6E:6D:F8:85\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"9bb1419f-33d4-4854-8f3a-4d71c3957198","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2723961377 1 udp 2113937151 ebdd54be-e4e4-4e2c-a156-4d6849df483b.local 33275 typ host generation 0 ufrag vCZE network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"9bb1419f-33d4-4854-8f3a-4d71c3957198","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"9bb1419f-33d4-4854-8f3a-4d71c3957198","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:644952158 1 udp 1677729535 141.24.211.56 33275 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag vCZE network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"9bb1419f-33d4-4854-8f3a-4d71c3957198","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/88a73d57-7a17-4326-94a0-1505d6ca7bca' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"88a73d57-7a17-4326-94a0-1505d6ca7bca","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2a67ac33-60fa-4bae-b834-abc4d505bbcc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2a67ac33-60fa-4bae-b834-abc4d505bbcc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2a67ac33-60fa-4bae-b834-abc4d505bbcc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9bb1419f-33d4-4854-8f3a-4d71c3957198","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198'"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"947b86e702f834d0e763bccdd4782d50","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"947b86e702f834d0e763bccdd4782d50","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198"},{"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/2a67ac33-60fa-4bae-b834-abc4d505bbcc"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/88a73d57-7a17-4326-94a0-1505d6ca7bca"}}},"level":"info","message":"received a callback","requestID":"947b86e702f834d0e763bccdd4782d50"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"947b86e702f834d0e763bccdd4782d50","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"947b86e702f834d0e763bccdd4782d50"} device-1 | {"data":{"peerconnection":"88a73d57-7a17-4326-94a0-1505d6ca7bca","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2a67ac33-60fa-4bae-b834-abc4d505bbcc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9bb1419f-33d4-4854-8f3a-4d71c3957198","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"88a73d57-7a17-4326-94a0-1505d6ca7bca","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2a67ac33-60fa-4bae-b834-abc4d505bbcc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"9bb1419f-33d4-4854-8f3a-4d71c3957198","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/88a73d57-7a17-4326-94a0-1505d6ca7bca' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"88a73d57-7a17-4326-94a0-1505d6ca7bca","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8ab2ec55d8545d98ff5899169ff9d1ff","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"8ab2ec55d8545d98ff5899169ff9d1ff","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/9bb1419f-33d4-4854-8f3a-4d71c3957198"},{"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/2a67ac33-60fa-4bae-b834-abc4d505bbcc"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/88a73d57-7a17-4326-94a0-1505d6ca7bca"}}},"level":"info","message":"received a callback","requestID":"8ab2ec55d8545d98ff5899169ff9d1ff"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"bb1a59c0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F88a73d57-7a17-4326-94a0-1505d6ca7bca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"588ebf45-155d-4917-a240-b60f2677d9d6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.0036416} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.525608,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/88a73d57-7a17-4326-94a0-1505d6ca7bca","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bb1a59c0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/88a73d57-7a17-4326-94a0-1505d6ca7bca","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","method":"POST","requestID":"bb1a59c0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"bb1a59c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/88a73d57-7a17-4326-94a0-1505d6ca7bca 200 13ms","method":"GET","requestID":"bb1a59c0-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/peerconnections/88a73d57-7a17-4326-94a0-1505d6ca7bca"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"8ab2ec55d8545d98ff5899169ff9d1ff","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35: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.048","http_referrer":"","http_user_agent":"node-fetch","requestID":"8ab2ec55d8545d98ff5899169ff9d1ff"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bb1fff10-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bb1419f-33d4-4854-8f3a-4d71c3957198","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f01adec1-a0e5-45d2-88ba-301ca3c5c5c4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.0386803} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.449417,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bb1fff10-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bb1fff10-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bb1fff10-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/9bb1419f-33d4-4854-8f3a-4d71c3957198/signaling 200 12ms","method":"POST","requestID":"bb1fff10-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bb224900-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8e45a21b-5553-4ebc-934c-d1d018090907","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.0539699} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.442976,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bb224900-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"bb224900-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bb224900-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc/signaling 200 12ms","method":"POST","requestID":"bb224900-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1Nn0.QB7ozM9lUmm0oEMUIj-0CydBk1HsIqCQfJz-88DgZcM","level":"info","message":"auth send jwt","requestID":"7be79065a0f566b7ad682d81617542c3"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"7be79065a0f566b7ad682d81617542c3","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65","requestID":"7be79065a0f566b7ad682d81617542c3"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.094889,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"7be79065a0f566b7ad682d81617542c3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216156,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1Nn0.QB7ozM9lUmm0oEMUIj-0CydBk1HsIqCQfJz-88DgZcM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7be79065a0f566b7ad682d81617542c3","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65","requestID":"7be79065a0f566b7ad682d81617542c3"} experiment-1 | {"level":"info","message":"GET /experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65 200 15ms","method":"GET","requestID":"7be79065a0f566b7ad682d81617542c3","responseTime":15,"status":200,"url":"/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65"} gateway-1 | {"time_local":"17/Jul/2024:11:35:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65 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":"7be79065a0f566b7ad682d81617542c3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1Nn0.QB7ozM9lUmm0oEMUIj-0CydBk1HsIqCQfJz-88DgZcM","level":"info","message":"auth send jwt","requestID":"77d0072703129b51313496749a64758f"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"77d0072703129b51313496749a64758f","responseTime":7,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65","requestID":"77d0072703129b51313496749a64758f"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.162002,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"77d0072703129b51313496749a64758f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216156,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1Nn0.QB7ozM9lUmm0oEMUIj-0CydBk1HsIqCQfJz-88DgZcM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"77d0072703129b51313496749a64758f","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65"},"level":"info","message":"Attempting to finish experiment","requestID":"77d0072703129b51313496749a64758f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"bb2ecc20-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.066271,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/88a73d57-7a17-4326-94a0-1505d6ca7bca","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bb2ecc20-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/88a73d57-7a17-4326-94a0-1505d6ca7bca","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216156,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1Nn0.QB7ozM9lUmm0oEMUIj-0CydBk1HsIqCQfJz-88DgZcM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bb2ecc20-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/88a73d57-7a17-4326-94a0-1505d6ca7bca","device":"9bb1419f-33d4-4854-8f3a-4d71c3957198","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"2a67ac33-60fa-4bae-b834-abc4d505bbcc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2a67ac33-60fa-4bae-b834-abc4d505bbcc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2a67ac33-60fa-4bae-b834-abc4d505bbcc","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/88a73d57-7a17-4326-94a0-1505d6ca7bca' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/88a73d57-7a17-4326-94a0-1505d6ca7bca' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"88a73d57-7a17-4326-94a0-1505d6ca7bca","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"048d3eefaa057d3192e2c2655011e358","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F88a73d57-7a17-4326-94a0-1505d6ca7bca': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F88a73d57-7a17-4326-94a0-1505d6ca7bca","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"edfe1108-faba-4c4f-9dba-e7ee0748f325","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.1567895} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"048d3eefaa057d3192e2c2655011e358","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:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d0b08c5-f6e0-4f34-9ca3-4ffa2224d78b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.1575933} 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/9bb1419f-33d4-4854-8f3a-4d71c3957198"},{"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/2a67ac33-60fa-4bae-b834-abc4d505bbcc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/88a73d57-7a17-4326-94a0-1505d6ca7bca"}}},"level":"info","message":"received a callback","requestID":"048d3eefaa057d3192e2c2655011e358"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"80e1f3de593088c52a0c3766ba7c1a23","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 13ms","method":"POST","requestID":"bb2ecc20-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"80e1f3de593088c52a0c3766ba7c1a23","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198"},{"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/2a67ac33-60fa-4bae-b834-abc4d505bbcc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/88a73d57-7a17-4326-94a0-1505d6ca7bca"}}},"level":"info","message":"received a callback","requestID":"80e1f3de593088c52a0c3766ba7c1a23"} device-1 | {"data":{"peerconnection":"88a73d57-7a17-4326-94a0-1505d6ca7bca","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"bb2ecc20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/88a73d57-7a17-4326-94a0-1505d6ca7bca 204 58ms","method":"DELETE","requestID":"bb2ecc20-4430-11ef-b47c-55a12d3fdb12","responseTime":58,"status":204,"url":"/peerconnections/88a73d57-7a17-4326-94a0-1505d6ca7bca"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65"},"level":"info","message":"Successfully finished experiment","requestID":"77d0072703129b51313496749a64758f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bb3b9d60-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9bb1419f-33d4-4854-8f3a-4d71c3957198","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33bb9760-47a5-4917-a099-dd65372f2ec3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.2207806} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.531239,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bb3b9d60-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bb3b9d60-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bb3b9d60-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/9bb1419f-33d4-4854-8f3a-4d71c3957198/signaling 200 12ms","method":"POST","requestID":"bb3b9d60-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bb3de750-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F39a5b457-c938-4c90-8c4d-c83d7af13e65': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F39a5b457-c938-4c90-8c4d-c83d7af13e65","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"b9778b59-ed03-4eef-b823-be641d211338","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.2344568} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f09a8522-7108-459c-a283-9f74b1bab276","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.2346919} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"77d0072703129b51313496749a64758f","responseTime":30,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a67ac33-60fa-4bae-b834-abc4d505bbcc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8dc881fa-721b-4512-b6ac-938b78b5e53a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.2426353} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.723283,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bb3de750-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"bb3de750-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bb3de750-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc/signaling 200 19ms","method":"POST","requestID":"bb3de750-4430-11ef-b47c-55a12d3fdb12","responseTime":19,"status":200,"url":"/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65","requestID":"77d0072703129b51313496749a64758f"} gateway-1 | {"time_local":"17/Jul/2024:11:35:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.195","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"77d0072703129b51313496749a64758f"} gateway-1 | {"time_local":"17/Jul/2024:11:35:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2838","request_time":"4.271","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5b6aecee1b105e42da268d6dbdb50a6c"} experiment-1 | {"level":"info","message":"DELETE /experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65 204 188ms","method":"DELETE","requestID":"77d0072703129b51313496749a64758f","responseTime":188,"status":204,"url":"/experiments/39a5b457-c938-4c90-8c4d-c83d7af13e65"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 149ms","method":"POST","requestID":"048d3eefaa057d3192e2c2655011e358","responseTime":149,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35: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.154","http_referrer":"","http_user_agent":"node-fetch","requestID":"048d3eefaa057d3192e2c2655011e358"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 147ms","method":"POST","requestID":"80e1f3de593088c52a0c3766ba7c1a23","responseTime":147,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:35: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.154","http_referrer":"","http_user_agent":"node-fetch","requestID":"80e1f3de593088c52a0c3766ba7c1a23"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1Nn0.QB7ozM9lUmm0oEMUIj-0CydBk1HsIqCQfJz-88DgZcM","level":"info","message":"auth send jwt","requestID":"9a989a2c8623873ab07e39657409f67d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9a989a2c8623873ab07e39657409f67d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9a989a2c8623873ab07e39657409f67d"} gateway-1 | {"time_local":"17/Jul/2024:11:35:56 +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.806","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ce004e4026c0fabcc638313d616f2272"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.994742,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9a989a2c8623873ab07e39657409f67d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216156,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1Nn0.QB7ozM9lUmm0oEMUIj-0CydBk1HsIqCQfJz-88DgZcM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9a989a2c8623873ab07e39657409f67d","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2a67ac33-60fa-4bae-b834-abc4d505bbcc' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"eb73b711-b107-47e8-bfed-8b57b73e5284","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.3373814} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9a989a2c8623873ab07e39657409f67d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9bb1419f-33d4-4854-8f3a-4d71c3957198' 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:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"62aadfbf-bdb5-4060-a406-3bd2e4b41b57","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.34278} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"9a989a2c8623873ab07e39657409f67d","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"84c2e57a-4f99-4e4f-914d-708651899884","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.357485} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"81a15e70-8b13-47bc-9a4f-9bbf7f9e684a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.3577285} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"9a989a2c8623873ab07e39657409f67d","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:56.357454276Z"}]},"request_id":"d762e86d-77eb-4fce-8016-06f832a437be","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.36216} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9a989a2c8623873ab07e39657409f67d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9a989a2c8623873ab07e39657409f67d"} gateway-1 | {"time_local":"17/Jul/2024:11:35: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.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9a989a2c8623873ab07e39657409f67d"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"9a989a2c8623873ab07e39657409f67d","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1Nn0.QB7ozM9lUmm0oEMUIj-0CydBk1HsIqCQfJz-88DgZcM","level":"info","message":"auth send jwt","requestID":"ce13986c8148e596aabefa4c498b2909"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ce13986c8148e596aabefa4c498b2909","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ce13986c8148e596aabefa4c498b2909"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.849389,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ce13986c8148e596aabefa4c498b2909","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216156,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1Nn0.QB7ozM9lUmm0oEMUIj-0CydBk1HsIqCQfJz-88DgZcM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ce13986c8148e596aabefa4c498b2909","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"92712267-e0f1-4a83-a24a-40176df461e4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.386509} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ce13986c8148e596aabefa4c498b2909","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4cac321d-04a1-4661-8b04-63578e5f3b21","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.3909647} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ce13986c8148e596aabefa4c498b2909","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"a4471ab0-7eae-4c70-ad35-ee19e990b7a5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.401165} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0dbc75c-f4fd-4f26-a936-5ea53cd72d1f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.4013104} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"ce13986c8148e596aabefa4c498b2909","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:56.401137888Z"}]},"request_id":"7ba40277-b159-424b-98d4-dbe5aaa3591b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.405669} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ce13986c8148e596aabefa4c498b2909","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ce13986c8148e596aabefa4c498b2909"} gateway-1 | {"time_local":"17/Jul/2024:11:35: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.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ce13986c8148e596aabefa4c498b2909"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"ce13986c8148e596aabefa4c498b2909","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1Nn0.QB7ozM9lUmm0oEMUIj-0CydBk1HsIqCQfJz-88DgZcM","level":"info","message":"auth send jwt","requestID":"ba3d8909d45d79bace9ca0ddbf2fac5a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ba3d8909d45d79bace9ca0ddbf2fac5a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"ba3d8909d45d79bace9ca0ddbf2fac5a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.194488,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ba3d8909d45d79bace9ca0ddbf2fac5a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216156,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1Nn0.QB7ozM9lUmm0oEMUIj-0CydBk1HsIqCQfJz-88DgZcM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ba3d8909d45d79bace9ca0ddbf2fac5a","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:56.357454276Z"}]},"request_id":"30f56c95-df2b-49bc-9041-deb46b3a9cd8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.900402} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ba3d8909d45d79bace9ca0ddbf2fac5a","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bb87269a-0a42-4a03-87aa-66cb821a9d0a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.9075425} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"ba3d8909d45d79bace9ca0ddbf2fac5a","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:56.357454276Z"}]},"request_id":"00a0ebe4-0657-49e8-ba1d-a65b969eb341","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216156.92022} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ba3d8909d45d79bace9ca0ddbf2fac5a","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"ba3d8909d45d79bace9ca0ddbf2fac5a"} gateway-1 | {"time_local":"17/Jul/2024:11:35:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd 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":"ba3d8909d45d79bace9ca0ddbf2fac5a"} device-1 | {"level":"info","message":"PATCH /devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd 200 36ms","method":"PATCH","requestID":"ba3d8909d45d79bace9ca0ddbf2fac5a","responseTime":36,"status":200,"url":"/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1Nn0.QB7ozM9lUmm0oEMUIj-0CydBk1HsIqCQfJz-88DgZcM","level":"info","message":"auth send jwt","requestID":"a12d6b76a126d2d2429745451aeea472"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a12d6b76a126d2d2429745451aeea472","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a12d6b76a126d2d2429745451aeea472"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.21459,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a12d6b76a126d2d2429745451aeea472","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216156,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1Nn0.QB7ozM9lUmm0oEMUIj-0CydBk1HsIqCQfJz-88DgZcM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a12d6b76a126d2d2429745451aeea472","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a12d6b76a126d2d2429745451aeea472"} gateway-1 | {"time_local":"17/Jul/2024:11:35:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd/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":"a12d6b76a126d2d2429745451aeea472"} device-1 | {"level":"info","message":"POST /devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd/websocket 200 20ms","method":"POST","requestID":"a12d6b76a126d2d2429745451aeea472","responseTime":20,"status":200,"url":"/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f79bef3972791a6eaf80e43c339279bb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f79bef3972791a6eaf80e43c339279bb","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:35:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601/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":"f79bef3972791a6eaf80e43c339279bb"} device-1 | {"level":"info","message":"OPTIONS /devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601/websocket 200 1ms","method":"OPTIONS","requestID":"f79bef3972791a6eaf80e43c339279bb","responseTime":1,"status":200,"url":"/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1OH0.DS0fqorBI7hU5Bz8v2aXkmIU8FXpe0RvwGw-fXkg_g4","level":"info","message":"auth send jwt","requestID":"9708254570033dbcc3e2f97c6ce52a50"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9708254570033dbcc3e2f97c6ce52a50","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9708254570033dbcc3e2f97c6ce52a50"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.126212,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9708254570033dbcc3e2f97c6ce52a50","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216158,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1OH0.DS0fqorBI7hU5Bz8v2aXkmIU8FXpe0RvwGw-fXkg_g4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9708254570033dbcc3e2f97c6ce52a50","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9708254570033dbcc3e2f97c6ce52a50"} device-1 | {"level":"info","message":"POST /devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601/websocket 200 18ms","method":"POST","requestID":"9708254570033dbcc3e2f97c6ce52a50","responseTime":18,"status":200,"url":"/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:35:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9708254570033dbcc3e2f97c6ce52a50"} device-1 | {"level":"info","message":"device 'http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1OH0.DS0fqorBI7hU5Bz8v2aXkmIU8FXpe0RvwGw-fXkg_g4","level":"info","message":"auth send jwt","requestID":"f7f5d4c213423cb54d1a956b5f6012dc"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f7f5d4c213423cb54d1a956b5f6012dc","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f7f5d4c213423cb54d1a956b5f6012dc"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.006679,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"f7f5d4c213423cb54d1a956b5f6012dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216158,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1OH0.DS0fqorBI7hU5Bz8v2aXkmIU8FXpe0RvwGw-fXkg_g4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f7f5d4c213423cb54d1a956b5f6012dc","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:56.357454276Z"}]},"request_id":"1fbf45fc-4abc-46a5-bd10-dccd20e5b57d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216158.4590611} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f7f5d4c213423cb54d1a956b5f6012dc","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f7f5d4c213423cb54d1a956b5f6012dc"} device-1 | {"level":"info","message":"GET /devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd? 200 23ms","method":"GET","requestID":"f7f5d4c213423cb54d1a956b5f6012dc","responseTime":23,"status":200,"url":"/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd?"} gateway-1 | {"time_local":"17/Jul/2024:11:35:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd? 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":"f7f5d4c213423cb54d1a956b5f6012dc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1OH0.DS0fqorBI7hU5Bz8v2aXkmIU8FXpe0RvwGw-fXkg_g4","level":"info","message":"auth send jwt","requestID":"b86ad2378524f7f20b0e40fb613fa853"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b86ad2378524f7f20b0e40fb613fa853","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b86ad2378524f7f20b0e40fb613fa853"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.208411,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b86ad2378524f7f20b0e40fb613fa853","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216158,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1OH0.DS0fqorBI7hU5Bz8v2aXkmIU8FXpe0RvwGw-fXkg_g4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b86ad2378524f7f20b0e40fb613fa853","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:56.401137888Z"}]},"request_id":"5159a37e-92bc-445b-9290-4708ffd619de","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216158.4887981} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b86ad2378524f7f20b0e40fb613fa853","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b86ad2378524f7f20b0e40fb613fa853"} gateway-1 | {"time_local":"17/Jul/2024:11:35:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601? 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":"b86ad2378524f7f20b0e40fb613fa853"} device-1 | {"level":"info","message":"GET /devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601? 200 17ms","method":"GET","requestID":"b86ad2378524f7f20b0e40fb613fa853","responseTime":17,"status":200,"url":"/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1OH0.DS0fqorBI7hU5Bz8v2aXkmIU8FXpe0RvwGw-fXkg_g4","level":"info","message":"auth send jwt","requestID":"6835ad267260c632dffbf34617f77f9a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6835ad267260c632dffbf34617f77f9a","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"6835ad267260c632dffbf34617f77f9a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.165793,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"6835ad267260c632dffbf34617f77f9a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216158,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1OH0.DS0fqorBI7hU5Bz8v2aXkmIU8FXpe0RvwGw-fXkg_g4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6835ad267260c632dffbf34617f77f9a","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c"},"level":"info","message":"Attempting to run experiment","requestID":"6835ad267260c632dffbf34617f77f9a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c"},"level":"info","message":"Attempting to book experiment","requestID":"6835ad267260c632dffbf34617f77f9a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c"},"level":"info","message":"Successfully booked experiment","requestID":"6835ad267260c632dffbf34617f77f9a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bc9f9a30-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bc9fe850-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.109874,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bc9f9a30-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216158,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1OH0.DS0fqorBI7hU5Bz8v2aXkmIU8FXpe0RvwGw-fXkg_g4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bc9f9a30-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.778623,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bc9fe850-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216158,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1OH0.DS0fqorBI7hU5Bz8v2aXkmIU8FXpe0RvwGw-fXkg_g4"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"bc9fe850-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:56.357454276Z"}]},"request_id":"496ad67b-83e5-457f-b1e1-73c3baf267ad","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216158.5598764} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"bc9f9a30-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:56.401137888Z"}]},"request_id":"d387ccbd-5214-42a7-934f-72a2d2db1634","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216158.565335} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bc9f9a30-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bc9fe850-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd? 200 20ms","method":"GET","requestID":"bc9f9a30-4430-11ef-b47c-55a12d3fdb12","responseTime":20,"status":200,"url":"/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bc9fe850-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601? 200 22ms","method":"GET","requestID":"bc9fe850-4430-11ef-b47c-55a12d3fdb12","responseTime":22,"status":200,"url":"/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c"},"level":"info","message":"Setting up experiment","requestID":"6835ad267260c632dffbf34617f77f9a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"6835ad267260c632dffbf34617f77f9a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c"},"level":"info","message":"Successfully locked booking for experiment","requestID":"6835ad267260c632dffbf34617f77f9a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"6835ad267260c632dffbf34617f77f9a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"6835ad267260c632dffbf34617f77f9a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c"},"level":"info","message":"Attempting to update booking for experiment","requestID":"6835ad267260c632dffbf34617f77f9a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c"},"level":"info","message":"Successfully updated booking for experiment","requestID":"6835ad267260c632dffbf34617f77f9a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c"},"level":"info","message":"Successfully set up experiment","requestID":"6835ad267260c632dffbf34617f77f9a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bcab5a00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bcaba820-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:58Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bcac1d50-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.05996,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:58Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c"},"level":"info","message":"Successfully running experiment","requestID":"6835ad267260c632dffbf34617f77f9a"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bcab5a00-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216158,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1OH0.DS0fqorBI7hU5Bz8v2aXkmIU8FXpe0RvwGw-fXkg_g4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bcab5a00-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.037093,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bcaba820-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216158,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1OH0.DS0fqorBI7hU5Bz8v2aXkmIU8FXpe0RvwGw-fXkg_g4"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"bcaba820-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e819444-52f8-4470-bea2-65130c66cc47","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216158.637698} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:56.401137888Z"}]},"request_id":"b56a1aaa-f89b-47dd-a207-799962712dab","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216158.6409569} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.108732,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bcac1d50-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"bcac1d50-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"bcaba820-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:56.357454276Z"}]},"request_id":"f439cb63-1240-474e-a116-fa04a1d8d39f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216158.6426423} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"bcab5a00-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bcac1d50-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd/signaling 200 21ms","method":"POST","requestID":"bcac1d50-4430-11ef-b47c-55a12d3fdb12","responseTime":21,"status":200,"url":"/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bcaba820-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601? 200 25ms","method":"GET","requestID":"bcaba820-4430-11ef-b47c-55a12d3fdb12","responseTime":25,"status":200,"url":"/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bcab5a00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd? 200 28ms","method":"GET","requestID":"bcab5a00-4430-11ef-b47c-55a12d3fdb12","responseTime":28,"status":200,"url":"/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bcafc6d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bcb014f0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd8115b8a-6300-403f-8b12-4ff30625638c#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd8115b8a-6300-403f-8b12-4ff30625638c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"9ba73fc1-b489-4dc1-910e-519dea688b1a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216158.6562195} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27b056ce-9412-4c2a-a143-72188b6abef8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216158.6566432} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f3042d2d-d7e5-4eb4-9e3d-5405c6e8b9c8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216158.6598442} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.164517,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"6835ad267260c632dffbf34617f77f9a","responseTime":24,"status":200,"url":"/relations/update"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bcafc6d0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"bcafc6d0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2c02f45-4037-4b49-aba3-b3b7214f1ae5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216158.6628406} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.01,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bcb014f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bcb014f0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bcafc6d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601/signaling 200 15ms","method":"POST","requestID":"bcafc6d0-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bcb014f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd/signaling 200 15ms","method":"POST","requestID":"bcb014f0-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"6835ad267260c632dffbf34617f77f9a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bcb2fb20-4430-11ef-b47c-55a12d3fdb12"} gateway-1 | {"time_local":"17/Jul/2024:11:35:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6835ad267260c632dffbf34617f77f9a"} experiment-1 | {"level":"info","message":"POST /experiments? 201 171ms","method":"POST","requestID":"6835ad267260c632dffbf34617f77f9a","responseTime":171,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e25991dc-eda9-493f-b575-f0b6d4191406","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216158.6803944} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1OH0.DS0fqorBI7hU5Bz8v2aXkmIU8FXpe0RvwGw-fXkg_g4","level":"info","message":"auth send jwt","requestID":"f54127469c5e8bdc152168dbb3fcc58a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.644666,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:58Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f54127469c5e8bdc152168dbb3fcc58a","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bcb2fb20-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bcb2fb20-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f54127469c5e8bdc152168dbb3fcc58a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:58Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bcb2fb20-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.055938,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:58Z"} device-1 | {"level":"info","message":"POST /devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601/signaling 200 12ms","method":"POST","requestID":"bcb2fb20-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"f54127469c5e8bdc152168dbb3fcc58a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216158,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1OH0.DS0fqorBI7hU5Bz8v2aXkmIU8FXpe0RvwGw-fXkg_g4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"6835ad267260c632dffbf34617f77f9a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c"},"level":"info","message":"Building connection plan","requestID":"6835ad267260c632dffbf34617f77f9a"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f54127469c5e8bdc152168dbb3fcc58a","responseTime":4,"status":200,"url":"/authorize"} 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":"0a0949ce-f158-48d2-94d2-adfba02cb949"},{"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":"96901605-d21c-4856-950e-5b8105c90c86"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"478e5780-9e83-4e52-800e-907d9a0a2e97"}]},"level":"info","message":"Built pairwise service configurations","requestID":"6835ad267260c632dffbf34617f77f9a"} 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/25b8c198-0aa7-4eb0-ba92-22befb87a4fd"},{"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/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"6835ad267260c632dffbf34617f77f9a"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"bcb54510-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:56.357454276Z"}]},"request_id":"e1b99987-061d-47f0-a65b-960527ebb30a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216158.6904984} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f54127469c5e8bdc152168dbb3fcc58a","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.078087,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bcb54510-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216158,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1OH0.DS0fqorBI7hU5Bz8v2aXkmIU8FXpe0RvwGw-fXkg_g4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bcb54510-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f54127469c5e8bdc152168dbb3fcc58a"} device-1 | {"level":"info","message":"GET /devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd? 200 14ms","method":"GET","requestID":"f54127469c5e8bdc152168dbb3fcc58a","responseTime":14,"status":200,"url":"/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd?"} gateway-1 | {"time_local":"17/Jul/2024:11:35:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd? 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":"f54127469c5e8bdc152168dbb3fcc58a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1OH0.DS0fqorBI7hU5Bz8v2aXkmIU8FXpe0RvwGw-fXkg_g4","level":"info","message":"auth send jwt","requestID":"16b161a946935a970ec05f563fe4649f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"16b161a946935a970ec05f563fe4649f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"16b161a946935a970ec05f563fe4649f"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"04a9696a-0852-48d1-b9df-db3e3de0a5a2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216158.706298} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6b076acf-7578-4696-b32f-064f0c27e5a1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216158.7065864} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.882442,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"16b161a946935a970ec05f563fe4649f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216158,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE1OH0.DS0fqorBI7hU5Bz8v2aXkmIU8FXpe0RvwGw-fXkg_g4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"16b161a946935a970ec05f563fe4649f","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"bcb54510-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:35:56.401137888Z"}]},"request_id":"f0d8f9dc-546b-4daa-ab96-6993a1a2a1d5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216158.7128942} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"16b161a946935a970ec05f563fe4649f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"bcb54510-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"bcb54510-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/8dd3c401-4fb2-4831-be70-a3a28a92db44'","requestID":"bcb54510-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"16b161a946935a970ec05f563fe4649f"} device-1 | {"level":"info","message":"GET /devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601? 200 24ms","method":"GET","requestID":"16b161a946935a970ec05f563fe4649f","responseTime":24,"status":200,"url":"/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601?"} gateway-1 | {"time_local":"17/Jul/2024:11:35:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601? 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":"16b161a946935a970ec05f563fe4649f"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8dd3c401-4fb2-4831-be70-a3a28a92db44'","requestID":"bcb54510-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"bcb54510-4430-11ef-b47c-55a12d3fdb12"} 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":"bcb54510-4430-11ef-b47c-55a12d3fdb12","responseTime":39,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"bcb54510-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/8dd3c401-4fb2-4831-be70-a3a28a92db44","device":"66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","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"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"6835ad267260c632dffbf34617f77f9a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bcc01a80-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"566f8fc9-843e-4397-a6b4-0577c3c04088","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216158.7642782} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.751573,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bcc01a80-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bcc01a80-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bcc01a80-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd/signaling 200 8ms","method":"POST","requestID":"bcc01a80-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bcc1a120-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6399d4fc-7b2e-41b6-95e5-10fdaaa91342","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216158.7742045} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.375066,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:35:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bcc1a120-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"bcc1a120-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bcc1a120-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601/signaling 200 8ms","method":"POST","requestID":"bcc1a120-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601/signaling"} device-1 | {"device":"66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 8350853726812310322 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:FAuA\r\na=ice-pwd:3yS178HT3WwrUSDU6lvbq7/T\r\na=ice-options:trickle\r\na=fingerprint:sha-256 BF:60:0B:60:0E:0C:39:AF:6F:E6:92:01:F1:11:31:40:7B:B6:CC:EE:39:11:BB:B2:77:CF:23:C2:F8:90:8A:FE\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"25b8c198-0aa7-4eb0-ba92-22befb87a4fd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"8dd3c401-4fb2-4831-be70-a3a28a92db44","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"25b8c198-0aa7-4eb0-ba92-22befb87a4fd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"25b8c198-0aa7-4eb0-ba92-22befb87a4fd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"25b8c198-0aa7-4eb0-ba92-22befb87a4fd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"25b8c198-0aa7-4eb0-ba92-22befb87a4fd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8dd3c401-4fb2-4831-be70-a3a28a92db44' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8dd3c401-4fb2-4831-be70-a3a28a92db44","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"60d24564e08538e2d7555a4884c2f1f0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"60d24564e08538e2d7555a4884c2f1f0","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/25b8c198-0aa7-4eb0-ba92-22befb87a4fd"},{"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/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8dd3c401-4fb2-4831-be70-a3a28a92db44"}}},"level":"info","message":"received a callback","requestID":"60d24564e08538e2d7555a4884c2f1f0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"60d24564e08538e2d7555a4884c2f1f0","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"60d24564e08538e2d7555a4884c2f1f0"} device-1 | {"content":{"candidate":"candidate:3354226467 1 udp 2113937151 0b26f2fe-2ae6-4b95-91cd-d39dd7a58a8c.local 60047 typ host generation 0 ufrag FAuA network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1422315056 1 udp 1677729535 141.24.211.56 60047 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag FAuA network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3941234114 1 udp 33562623 141.24.210.113 61925 typ relay raddr 141.24.211.56 rport 60047 generation 0 ufrag FAuA network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601'"} device-1 | {"data":{"peerconnection":"8dd3c401-4fb2-4831-be70-a3a28a92db44","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"25b8c198-0aa7-4eb0-ba92-22befb87a4fd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"8dd3c401-4fb2-4831-be70-a3a28a92db44","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"25b8c198-0aa7-4eb0-ba92-22befb87a4fd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8dd3c401-4fb2-4831-be70-a3a28a92db44' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8dd3c401-4fb2-4831-be70-a3a28a92db44","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1e47915daf4e57da092432e740995990","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1e47915daf4e57da092432e740995990","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/25b8c198-0aa7-4eb0-ba92-22befb87a4fd"},{"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/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8dd3c401-4fb2-4831-be70-a3a28a92db44"}}},"level":"info","message":"received a callback","requestID":"1e47915daf4e57da092432e740995990"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"bdfcb930-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:00Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8dd3c401-4fb2-4831-be70-a3a28a92db44","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2551f6df-8de0-4b64-8578-250150d62df4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216160.841589} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.305204,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8dd3c401-4fb2-4831-be70-a3a28a92db44","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bdfcb930-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8dd3c401-4fb2-4831-be70-a3a28a92db44","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","method":"POST","requestID":"bdfcb930-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"bdfcb930-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/8dd3c401-4fb2-4831-be70-a3a28a92db44 200 11ms","method":"GET","requestID":"bdfcb930-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/peerconnections/8dd3c401-4fb2-4831-be70-a3a28a92db44"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"1e47915daf4e57da092432e740995990","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch","requestID":"1e47915daf4e57da092432e740995990"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be021060-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:00Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"78116168-dffe-4403-9cf4-155f117c11ac","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216160.875669} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.423951,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"be021060-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"be021060-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be021060-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd/signaling 200 11ms","method":"POST","requestID":"be021060-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be040c30-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:00Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bfcce265-b98b-4081-875b-1410f619ad21","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216160.88833} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.964723,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"be040c30-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"be040c30-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be040c30-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601/signaling 200 10ms","method":"POST","requestID":"be040c30-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MH0.-Zl6K11l0CHaU3XwEC7OVPPpHIZdZE10c2tHCplRX1o","level":"info","message":"auth send jwt","requestID":"9bb71d85410f0ebfbe35513491f43d72"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9bb71d85410f0ebfbe35513491f43d72","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d8115b8a-6300-403f-8b12-4ff30625638c","requestID":"9bb71d85410f0ebfbe35513491f43d72"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:00Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.103865,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9bb71d85410f0ebfbe35513491f43d72","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216160,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MH0.-Zl6K11l0CHaU3XwEC7OVPPpHIZdZE10c2tHCplRX1o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9bb71d85410f0ebfbe35513491f43d72","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d8115b8a-6300-403f-8b12-4ff30625638c","requestID":"9bb71d85410f0ebfbe35513491f43d72"} gateway-1 | {"time_local":"17/Jul/2024:11:36:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d8115b8a-6300-403f-8b12-4ff30625638c HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9bb71d85410f0ebfbe35513491f43d72"} experiment-1 | {"level":"info","message":"GET /experiments/d8115b8a-6300-403f-8b12-4ff30625638c 200 15ms","method":"GET","requestID":"9bb71d85410f0ebfbe35513491f43d72","responseTime":15,"status":200,"url":"/experiments/d8115b8a-6300-403f-8b12-4ff30625638c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MH0.-Zl6K11l0CHaU3XwEC7OVPPpHIZdZE10c2tHCplRX1o","level":"info","message":"auth send jwt","requestID":"641f90fa93823faade55e44fdede6798"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"641f90fa93823faade55e44fdede6798","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d8115b8a-6300-403f-8b12-4ff30625638c","requestID":"641f90fa93823faade55e44fdede6798"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:00Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.125402,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"641f90fa93823faade55e44fdede6798","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216160,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MH0.-Zl6K11l0CHaU3XwEC7OVPPpHIZdZE10c2tHCplRX1o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"641f90fa93823faade55e44fdede6798","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c"},"level":"info","message":"Attempting to finish experiment","requestID":"641f90fa93823faade55e44fdede6798"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"be1179b0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:00Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.169264,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8dd3c401-4fb2-4831-be70-a3a28a92db44","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"be1179b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/8dd3c401-4fb2-4831-be70-a3a28a92db44","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216160,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MH0.-Zl6K11l0CHaU3XwEC7OVPPpHIZdZE10c2tHCplRX1o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"be1179b0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/8dd3c401-4fb2-4831-be70-a3a28a92db44","device":"66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"25b8c198-0aa7-4eb0-ba92-22befb87a4fd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"25b8c198-0aa7-4eb0-ba92-22befb87a4fd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"25b8c198-0aa7-4eb0-ba92-22befb87a4fd","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/8dd3c401-4fb2-4831-be70-a3a28a92db44' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8dd3c401-4fb2-4831-be70-a3a28a92db44' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8dd3c401-4fb2-4831-be70-a3a28a92db44","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8dd3c401-4fb2-4831-be70-a3a28a92db44': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8dd3c401-4fb2-4831-be70-a3a28a92db44","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"092395d0-609e-46ed-bc98-d90d04d4a3e1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216160.9949915} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d1428b56-74d6-4fd8-acfe-0ae5deb698e0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216160.995879} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"be1179b0-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"54fe061fe0334232ed6a9650e2b2f1df","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"54fe061fe0334232ed6a9650e2b2f1df","responseTime":3,"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/25b8c198-0aa7-4eb0-ba92-22befb87a4fd"},{"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/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8dd3c401-4fb2-4831-be70-a3a28a92db44"}}},"level":"info","message":"received a callback","requestID":"54fe061fe0334232ed6a9650e2b2f1df"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f3e5754ede3d1d532deb45935a42a153","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f3e5754ede3d1d532deb45935a42a153","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/25b8c198-0aa7-4eb0-ba92-22befb87a4fd"},{"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/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8dd3c401-4fb2-4831-be70-a3a28a92db44"}}},"level":"info","message":"received a callback","requestID":"f3e5754ede3d1d532deb45935a42a153"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"be1179b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/8dd3c401-4fb2-4831-be70-a3a28a92db44 204 49ms","method":"DELETE","requestID":"be1179b0-4430-11ef-b47c-55a12d3fdb12","responseTime":49,"status":204,"url":"/peerconnections/8dd3c401-4fb2-4831-be70-a3a28a92db44"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d8115b8a-6300-403f-8b12-4ff30625638c"},"level":"info","message":"Successfully finished experiment","requestID":"641f90fa93823faade55e44fdede6798"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be1ceb60-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25b8c198-0aa7-4eb0-ba92-22befb87a4fd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a7f06c7b-8097-49f7-8e8e-92064f757def","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.0527167} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.000354,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"be1ceb60-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"be1ceb60-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be1ceb60-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd/signaling 200 13ms","method":"POST","requestID":"be1ceb60-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"be1f5c60-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd8115b8a-6300-403f-8b12-4ff30625638c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd8115b8a-6300-403f-8b12-4ff30625638c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"d63a486f-ea8c-4091-9df6-9de737a75273","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.0616899} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3dd11401-fb28-4f03-a500-54797efe433b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.0627255} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"641f90fa93823faade55e44fdede6798","responseTime":21,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd22b7d8-23b5-47d0-adf3-cf1b26461ebb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.069657} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.170407,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"be1f5c60-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"be1f5c60-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"be1f5c60-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601/signaling 200 14ms","method":"POST","requestID":"be1f5c60-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d8115b8a-6300-403f-8b12-4ff30625638c","requestID":"641f90fa93823faade55e44fdede6798"} gateway-1 | {"time_local":"17/Jul/2024:11:36:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d8115b8a-6300-403f-8b12-4ff30625638c 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":"641f90fa93823faade55e44fdede6798"} experiment-1 | {"level":"info","message":"DELETE /experiments/d8115b8a-6300-403f-8b12-4ff30625638c 204 178ms","method":"DELETE","requestID":"641f90fa93823faade55e44fdede6798","responseTime":178,"status":204,"url":"/experiments/d8115b8a-6300-403f-8b12-4ff30625638c"} gateway-1 | {"time_local":"17/Jul/2024:11:36:01 +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.183","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"77a54f1a5ad8500b043fae38ac267b5e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"54fe061fe0334232ed6a9650e2b2f1df","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"54fe061fe0334232ed6a9650e2b2f1df"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"f3e5754ede3d1d532deb45935a42a153","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"f3e5754ede3d1d532deb45935a42a153"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o","level":"info","message":"auth send jwt","requestID":"c629adc9dfa5f40e5168819b5f211326"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c629adc9dfa5f40e5168819b5f211326","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c629adc9dfa5f40e5168819b5f211326"} gateway-1 | {"time_local":"17/Jul/2024:11:36:01 +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.722","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d01b164f2ef647550b0bbfca13c2fa0e"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.396791,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c629adc9dfa5f40e5168819b5f211326","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216161,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c629adc9dfa5f40e5168819b5f211326","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/25b8c198-0aa7-4eb0-ba92-22befb87a4fd' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/66f0a2a1-a73d-4cb2-8263-bfb0e3ef5601' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a7cefbd2-474b-4fec-8e0b-4a8bcc448465","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.1636767} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c629adc9dfa5f40e5168819b5f211326","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3661ba7f-9e62-446d-b0e6-b8bf0d76609a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.1689267} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c629adc9dfa5f40e5168819b5f211326","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"b280cd5b-dafc-4a54-95cf-2dd71f7aecdd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.1806965} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c161e969-5efe-48cd-9442-375f8c1d11da","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.1809828} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"c629adc9dfa5f40e5168819b5f211326","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:01.180675272Z"}]},"request_id":"d2e2e854-b3c4-4d8e-a632-ee2ac154c28a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.1855547} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c629adc9dfa5f40e5168819b5f211326","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c629adc9dfa5f40e5168819b5f211326"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c629adc9dfa5f40e5168819b5f211326"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"c629adc9dfa5f40e5168819b5f211326","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o","level":"info","message":"auth send jwt","requestID":"33f366297eb2e87941c64ba3a272ab09"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"33f366297eb2e87941c64ba3a272ab09","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"33f366297eb2e87941c64ba3a272ab09"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.803053,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"33f366297eb2e87941c64ba3a272ab09","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216161,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"33f366297eb2e87941c64ba3a272ab09","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0188a525-db57-4a0c-b18b-7c349aff1d65","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.2156842} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"33f366297eb2e87941c64ba3a272ab09","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c6b7b57-f2eb-4b42-9189-cd2467689e39","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.2202184} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"33f366297eb2e87941c64ba3a272ab09","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"90215954-1f92-4fed-938e-5b053206fa68","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.2314274} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1adab69a-8ab0-4187-ac38-31903337d45c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.231598} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"33f366297eb2e87941c64ba3a272ab09","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:01.231406040Z"}]},"request_id":"f613ab3d-1793-426a-9fe8-c8773664111c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.2359035} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"33f366297eb2e87941c64ba3a272ab09","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"33f366297eb2e87941c64ba3a272ab09"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"33f366297eb2e87941c64ba3a272ab09"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"33f366297eb2e87941c64ba3a272ab09","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o","level":"info","message":"auth send jwt","requestID":"fe61f87ba0507fc511945d7e5cb0c37b"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"fe61f87ba0507fc511945d7e5cb0c37b","responseTime":6,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o","level":"info","message":"auth send jwt","requestID":"b6932fbac0972b1b4db72692084917c9"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b6932fbac0972b1b4db72692084917c9","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"fe61f87ba0507fc511945d7e5cb0c37b"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"b6932fbac0972b1b4db72692084917c9"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.778913,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"fe61f87ba0507fc511945d7e5cb0c37b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216161,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fe61f87ba0507fc511945d7e5cb0c37b","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.757068,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b6932fbac0972b1b4db72692084917c9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216161,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b6932fbac0972b1b4db72692084917c9","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:01.231406040Z"}]},"request_id":"e4ba661b-69bc-429f-86bd-3b50a02f0a19","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.719831} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:01.180675272Z"}]},"request_id":"8a935998-25dd-4b4d-a6a5-3fb5c6b2a682","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.7212882} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"fe61f87ba0507fc511945d7e5cb0c37b","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"b6932fbac0972b1b4db72692084917c9","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"82c8de1a-76c5-4195-bb11-97b77293e20d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.7306812} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"fe61f87ba0507fc511945d7e5cb0c37b","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f9816200-8a1f-4511-86af-0da94968b52a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.7323596} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"b6932fbac0972b1b4db72692084917c9","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:01.180675272Z"}]},"request_id":"b6e3f2f7-d92b-4296-adb4-b5740adf34f8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.7363157} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b6932fbac0972b1b4db72692084917c9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"b6932fbac0972b1b4db72692084917c9"} gateway-1 | {"time_local":"17/Jul/2024:11:36:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/032ae177-dd79-41b5-b8a1-080103ddba23 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":"b6932fbac0972b1b4db72692084917c9"} device-1 | {"level":"info","message":"PATCH /devices/032ae177-dd79-41b5-b8a1-080103ddba23 200 29ms","method":"PATCH","requestID":"b6932fbac0972b1b4db72692084917c9","responseTime":29,"status":200,"url":"/devices/032ae177-dd79-41b5-b8a1-080103ddba23"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o","level":"info","message":"auth send jwt","requestID":"190ed14c1092cc63f5e4d0d86b9538c2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"190ed14c1092cc63f5e4d0d86b9538c2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"190ed14c1092cc63f5e4d0d86b9538c2"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:01.231406040Z"}]},"request_id":"f89d6137-5adc-4471-b496-3dbf9f72bb9d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.748908} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"fe61f87ba0507fc511945d7e5cb0c37b","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.656298,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:01Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"fe61f87ba0507fc511945d7e5cb0c37b"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"190ed14c1092cc63f5e4d0d86b9538c2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216161,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o"} device-1 | {"level":"info","message":"PATCH /devices/673a614c-3ae6-4561-b99b-b8b837e88e27 200 45ms","method":"PATCH","requestID":"fe61f87ba0507fc511945d7e5cb0c37b","responseTime":45,"status":200,"url":"/devices/673a614c-3ae6-4561-b99b-b8b837e88e27"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"190ed14c1092cc63f5e4d0d86b9538c2","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"17/Jul/2024:11:36:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/673a614c-3ae6-4561-b99b-b8b837e88e27 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"fe61f87ba0507fc511945d7e5cb0c37b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o","level":"info","message":"auth send jwt","requestID":"6110696f143daecf455cd31a45cf7235"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6110696f143daecf455cd31a45cf7235","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6110696f143daecf455cd31a45cf7235"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.932782,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"6110696f143daecf455cd31a45cf7235","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216161,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6110696f143daecf455cd31a45cf7235","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"190ed14c1092cc63f5e4d0d86b9538c2"} device-1 | {"level":"info","message":"POST /devices/032ae177-dd79-41b5-b8a1-080103ddba23/websocket 200 22ms","method":"POST","requestID":"190ed14c1092cc63f5e4d0d86b9538c2","responseTime":22,"status":200,"url":"/devices/032ae177-dd79-41b5-b8a1-080103ddba23/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:36:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/032ae177-dd79-41b5-b8a1-080103ddba23/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":"190ed14c1092cc63f5e4d0d86b9538c2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6110696f143daecf455cd31a45cf7235"} device-1 | {"level":"info","message":"POST /devices/673a614c-3ae6-4561-b99b-b8b837e88e27/websocket 200 20ms","method":"POST","requestID":"6110696f143daecf455cd31a45cf7235","responseTime":20,"status":200,"url":"/devices/673a614c-3ae6-4561-b99b-b8b837e88e27/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:36:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/673a614c-3ae6-4561-b99b-b8b837e88e27/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":"6110696f143daecf455cd31a45cf7235"} device-1 | {"level":"info","message":"device 'http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o","level":"info","message":"auth send jwt","requestID":"40e8fe1141d7cec757c7be47bf4b6a9a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"40e8fe1141d7cec757c7be47bf4b6a9a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"40e8fe1141d7cec757c7be47bf4b6a9a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.668622,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"40e8fe1141d7cec757c7be47bf4b6a9a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216161,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"40e8fe1141d7cec757c7be47bf4b6a9a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:01.180675272Z"}]},"request_id":"f639170c-77f6-491c-bdba-9acf8ef3da73","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.811153} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"40e8fe1141d7cec757c7be47bf4b6a9a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"40e8fe1141d7cec757c7be47bf4b6a9a"} device-1 | {"level":"info","message":"GET /devices/032ae177-dd79-41b5-b8a1-080103ddba23? 200 12ms","method":"GET","requestID":"40e8fe1141d7cec757c7be47bf4b6a9a","responseTime":12,"status":200,"url":"/devices/032ae177-dd79-41b5-b8a1-080103ddba23?"} gateway-1 | {"time_local":"17/Jul/2024:11:36:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/032ae177-dd79-41b5-b8a1-080103ddba23? 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":"40e8fe1141d7cec757c7be47bf4b6a9a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o","level":"info","message":"auth send jwt","requestID":"55d67ea11a58d3f210d0db403650b79a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"55d67ea11a58d3f210d0db403650b79a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"55d67ea11a58d3f210d0db403650b79a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.67139,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"55d67ea11a58d3f210d0db403650b79a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216161,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"55d67ea11a58d3f210d0db403650b79a","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:01.231406040Z"}]},"request_id":"8ef648ce-f6cd-4d09-867f-d14f004dca77","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.8274262} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"55d67ea11a58d3f210d0db403650b79a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"55d67ea11a58d3f210d0db403650b79a"} device-1 | {"level":"info","message":"GET /devices/673a614c-3ae6-4561-b99b-b8b837e88e27? 200 11ms","method":"GET","requestID":"55d67ea11a58d3f210d0db403650b79a","responseTime":11,"status":200,"url":"/devices/673a614c-3ae6-4561-b99b-b8b837e88e27?"} gateway-1 | {"time_local":"17/Jul/2024:11:36:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/673a614c-3ae6-4561-b99b-b8b837e88e27? 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":"55d67ea11a58d3f210d0db403650b79a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o","level":"info","message":"auth send jwt","requestID":"c9e00e3cb03731aa41306cf901367cac"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c9e00e3cb03731aa41306cf901367cac","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"c9e00e3cb03731aa41306cf901367cac"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.338004,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c9e00e3cb03731aa41306cf901367cac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216161,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c9e00e3cb03731aa41306cf901367cac","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0"},"level":"info","message":"Attempting to run experiment","requestID":"c9e00e3cb03731aa41306cf901367cac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0"},"level":"info","message":"Attempting to book experiment","requestID":"c9e00e3cb03731aa41306cf901367cac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0"},"level":"info","message":"Successfully booked experiment","requestID":"c9e00e3cb03731aa41306cf901367cac"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be9b4320-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"be9b6a30-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.630477,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"be9b4320-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216161,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"be9b4320-4430-11ef-b47c-55a12d3fdb12","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.556823,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"be9b6a30-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216161,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"be9b6a30-4430-11ef-b47c-55a12d3fdb12","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:01.180675272Z"}]},"request_id":"df8f583b-3ffb-4547-87a2-32ccc39cc644","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.8813424} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"be9b4320-4430-11ef-b47c-55a12d3fdb12","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:01.231406040Z"}]},"request_id":"49747ad4-dd79-4290-b9e7-dd1a7b2c3a27","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.8820684} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"be9b6a30-4430-11ef-b47c-55a12d3fdb12","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be9b6a30-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/673a614c-3ae6-4561-b99b-b8b837e88e27? 200 12ms","method":"GET","requestID":"be9b6a30-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/673a614c-3ae6-4561-b99b-b8b837e88e27?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"be9b4320-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/032ae177-dd79-41b5-b8a1-080103ddba23? 200 15ms","method":"GET","requestID":"be9b4320-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/032ae177-dd79-41b5-b8a1-080103ddba23?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0"},"level":"info","message":"Setting up experiment","requestID":"c9e00e3cb03731aa41306cf901367cac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"c9e00e3cb03731aa41306cf901367cac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0"},"level":"info","message":"Successfully locked booking for experiment","requestID":"c9e00e3cb03731aa41306cf901367cac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"c9e00e3cb03731aa41306cf901367cac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"c9e00e3cb03731aa41306cf901367cac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0"},"level":"info","message":"Attempting to update booking for experiment","requestID":"c9e00e3cb03731aa41306cf901367cac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0"},"level":"info","message":"Successfully updated booking for experiment","requestID":"c9e00e3cb03731aa41306cf901367cac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0"},"level":"info","message":"Successfully set up experiment","requestID":"c9e00e3cb03731aa41306cf901367cac"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bea5f180-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bea63fa0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bea68dc0-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0"},"level":"info","message":"Successfully running experiment","requestID":"c9e00e3cb03731aa41306cf901367cac"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.434676,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bea5f180-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216161,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bea5f180-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.98859,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bea63fa0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216161,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bea63fa0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"308a1151-379f-4341-a999-c4879460bfc8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.955613} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.487595,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:01.180675272Z"}]},"request_id":"1e942625-5741-4d08-940c-bf9e1f614acd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.958343} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bea68dc0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"bea68dc0-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"bea5f180-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:01.231406040Z"}]},"request_id":"01fc993a-5099-4eba-8a7a-b9bc50d3bffb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.9597545} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"bea63fa0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bea5f180-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/032ae177-dd79-41b5-b8a1-080103ddba23? 200 24ms","method":"GET","requestID":"bea5f180-4430-11ef-b47c-55a12d3fdb12","responseTime":24,"status":200,"url":"/devices/032ae177-dd79-41b5-b8a1-080103ddba23?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bea68dc0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/032ae177-dd79-41b5-b8a1-080103ddba23/signaling 200 21ms","method":"POST","requestID":"bea68dc0-4430-11ef-b47c-55a12d3fdb12","responseTime":21,"status":200,"url":"/devices/032ae177-dd79-41b5-b8a1-080103ddba23/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bea63fa0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/673a614c-3ae6-4561-b99b-b8b837e88e27? 200 24ms","method":"GET","requestID":"bea63fa0-4430-11ef-b47c-55a12d3fdb12","responseTime":24,"status":200,"url":"/devices/673a614c-3ae6-4561-b99b-b8b837e88e27?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"beaa3740-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"beaaac70-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8c3d679f-d8be-41af-be05-d7f5a33bd7e0#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8c3d679f-d8be-41af-be05-d7f5a33bd7e0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"faf43155-3d5d-4343-87b1-1c2420ddd42f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.9764946} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2dab33bf-e8be-4edd-9204-3c2ce9667f30","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.976508} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"c9e00e3cb03731aa41306cf901367cac","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e00c07e-93e2-4d26-87ab-081855ce21ea","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.9802294} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.502468,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"beaa3740-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"beaa3740-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"57f2cd9e-aa99-414b-8e55-3754784f5a6f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.9845278} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.647181,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"beaaac70-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"beaaac70-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"beaa3740-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"c9e00e3cb03731aa41306cf901367cac"} device-1 | {"level":"info","message":"POST /devices/673a614c-3ae6-4561-b99b-b8b837e88e27/signaling 200 18ms","method":"POST","requestID":"beaa3740-4430-11ef-b47c-55a12d3fdb12","responseTime":18,"status":200,"url":"/devices/673a614c-3ae6-4561-b99b-b8b837e88e27/signaling"} gateway-1 | {"time_local":"17/Jul/2024:11:36:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.158","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c9e00e3cb03731aa41306cf901367cac"} experiment-1 | {"level":"info","message":"POST /experiments? 201 154ms","method":"POST","requestID":"c9e00e3cb03731aa41306cf901367cac","responseTime":154,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"beaaac70-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/032ae177-dd79-41b5-b8a1-080103ddba23/signaling 200 17ms","method":"POST","requestID":"beaaac70-4430-11ef-b47c-55a12d3fdb12","responseTime":17,"status":200,"url":"/devices/032ae177-dd79-41b5-b8a1-080103ddba23/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bead92a0-4430-11ef-b47c-55a12d3fdb12"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o","level":"info","message":"auth send jwt","requestID":"cbf9f5101addb5a677a9c4614dbace7a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cbf9f5101addb5a677a9c4614dbace7a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cbf9f5101addb5a677a9c4614dbace7a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.61716,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cbf9f5101addb5a677a9c4614dbace7a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216161,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"cbf9f5101addb5a677a9c4614dbace7a","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d2a5db7-284e-4202-b070-e5f48a97c91a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216161.9993207} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.514942,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bead92a0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"bead92a0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:01.180675272Z"}]},"request_id":"c242c0ac-4c26-44ac-8d63-db61989ac14e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216162.002988} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bead92a0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cbf9f5101addb5a677a9c4614dbace7a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/673a614c-3ae6-4561-b99b-b8b837e88e27/signaling 200 10ms","method":"POST","requestID":"bead92a0-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/673a614c-3ae6-4561-b99b-b8b837e88e27/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"c9e00e3cb03731aa41306cf901367cac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0"},"level":"info","message":"Building connection plan","requestID":"c9e00e3cb03731aa41306cf901367cac"} 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":"cf213aaf-44e1-40a6-8536-6484de94a299"},{"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":"c0e47a19-07fe-412a-9cd1-8dca8b9ff369"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"17223fe3-1b31-4c92-9657-e4e87d368114"}]},"level":"info","message":"Built pairwise service configurations","requestID":"c9e00e3cb03731aa41306cf901367cac"} 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/673a614c-3ae6-4561-b99b-b8b837e88e27"},{"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/032ae177-dd79-41b5-b8a1-080103ddba23"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"c9e00e3cb03731aa41306cf901367cac"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"beafb580-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cbf9f5101addb5a677a9c4614dbace7a"} device-1 | {"level":"info","message":"GET /devices/032ae177-dd79-41b5-b8a1-080103ddba23? 200 14ms","method":"GET","requestID":"cbf9f5101addb5a677a9c4614dbace7a","responseTime":14,"status":200,"url":"/devices/032ae177-dd79-41b5-b8a1-080103ddba23?"} gateway-1 | {"time_local":"17/Jul/2024:11:36:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/032ae177-dd79-41b5-b8a1-080103ddba23? 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":"cbf9f5101addb5a677a9c4614dbace7a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.834911,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"beafb580-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216161,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2MX0.9aSCH6I2ojABAF3xQ2h33VZXCDbpwSoppy41IbjyN1o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"beafb580-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2Mn0.ArcLlKrUnIa63B76YyS4-ocTn9JiE4Iiv4W1d5KL9Og","level":"info","message":"auth send jwt","requestID":"0f6b1789b1821f859e16da6228519f6d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0f6b1789b1821f859e16da6228519f6d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0f6b1789b1821f859e16da6228519f6d"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:02Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.770728,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"0f6b1789b1821f859e16da6228519f6d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216162,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2Mn0.ArcLlKrUnIa63B76YyS4-ocTn9JiE4Iiv4W1d5KL9Og"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0f6b1789b1821f859e16da6228519f6d","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:01.231406040Z"}]},"request_id":"13622ba1-51ce-4c10-92c3-530b87442d89","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216162.0239637} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0f6b1789b1821f859e16da6228519f6d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"cfef3ee6-b20c-41cc-8c38-ba207354ac80","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216162.025399} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f816871-9c16-4146-b75e-659cd34aefc3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216162.025627} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"beafb580-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0f6b1789b1821f859e16da6228519f6d"} device-1 | {"level":"info","message":"GET /devices/673a614c-3ae6-4561-b99b-b8b837e88e27? 200 13ms","method":"GET","requestID":"0f6b1789b1821f859e16da6228519f6d","responseTime":13,"status":200,"url":"/devices/673a614c-3ae6-4561-b99b-b8b837e88e27?"} gateway-1 | {"time_local":"17/Jul/2024:11:36:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/673a614c-3ae6-4561-b99b-b8b837e88e27? 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":"0f6b1789b1821f859e16da6228519f6d"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"beafb580-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"beafb580-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/5653adae-eb2c-43a2-8633-95ed40fedd59'","requestID":"beafb580-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5653adae-eb2c-43a2-8633-95ed40fedd59'","requestID":"beafb580-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"beafb580-4430-11ef-b47c-55a12d3fdb12"} 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":"beafb580-4430-11ef-b47c-55a12d3fdb12","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","requestID":"beafb580-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"c9e00e3cb03731aa41306cf901367cac"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"beb90450-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:02Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"30f09ff4-e5d3-415a-b389-b3acd8a64aa9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216162.0744054} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.970201,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"beb90450-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"beb90450-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"beb90450-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/032ae177-dd79-41b5-b8a1-080103ddba23/signaling 200 9ms","method":"POST","requestID":"beb90450-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/032ae177-dd79-41b5-b8a1-080103ddba23/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bebad910-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:02Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e43865e-4fef-43f5-9991-d6d33b014a72","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216162.0871062} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.626623,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bebad910-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bebad910-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bebad910-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/673a614c-3ae6-4561-b99b-b8b837e88e27/signaling 200 12ms","method":"POST","requestID":"bebad910-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/673a614c-3ae6-4561-b99b-b8b837e88e27/signaling"} device-1 | {"device":"032ae177-dd79-41b5-b8a1-080103ddba23","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"5653adae-eb2c-43a2-8633-95ed40fedd59","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"673a614c-3ae6-4561-b99b-b8b837e88e27","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"5653adae-eb2c-43a2-8633-95ed40fedd59","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"673a614c-3ae6-4561-b99b-b8b837e88e27","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"673a614c-3ae6-4561-b99b-b8b837e88e27","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"673a614c-3ae6-4561-b99b-b8b837e88e27","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"673a614c-3ae6-4561-b99b-b8b837e88e27","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5653adae-eb2c-43a2-8633-95ed40fedd59' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5653adae-eb2c-43a2-8633-95ed40fedd59","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"28cd821a1bdf249e5a43817052c9175b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"28cd821a1bdf249e5a43817052c9175b","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/673a614c-3ae6-4561-b99b-b8b837e88e27"},{"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/032ae177-dd79-41b5-b8a1-080103ddba23"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5653adae-eb2c-43a2-8633-95ed40fedd59"}}},"level":"info","message":"received a callback","requestID":"28cd821a1bdf249e5a43817052c9175b"} device-1 | {"device":"032ae177-dd79-41b5-b8a1-080103ddba23","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"032ae177-dd79-41b5-b8a1-080103ddba23","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"032ae177-dd79-41b5-b8a1-080103ddba23","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"28cd821a1bdf249e5a43817052c9175b","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"28cd821a1bdf249e5a43817052c9175b"} device-1 | {"data":{"peerconnection":"5653adae-eb2c-43a2-8633-95ed40fedd59","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"673a614c-3ae6-4561-b99b-b8b837e88e27","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"032ae177-dd79-41b5-b8a1-080103ddba23","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"032ae177-dd79-41b5-b8a1-080103ddba23","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"673a614c-3ae6-4561-b99b-b8b837e88e27","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"5653adae-eb2c-43a2-8633-95ed40fedd59","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/5653adae-eb2c-43a2-8633-95ed40fedd59' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5653adae-eb2c-43a2-8633-95ed40fedd59","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fb56a2f3043a1cd96d0feb50ae59b43a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fb56a2f3043a1cd96d0feb50ae59b43a","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/673a614c-3ae6-4561-b99b-b8b837e88e27"},{"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/032ae177-dd79-41b5-b8a1-080103ddba23"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5653adae-eb2c-43a2-8633-95ed40fedd59"}}},"level":"info","message":"received a callback","requestID":"fb56a2f3043a1cd96d0feb50ae59b43a"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"bff81400-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:04Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5653adae-eb2c-43a2-8633-95ed40fedd59","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a0df3524-03d4-431d-9aaa-b14842f26bb0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216164.1663735} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.477483,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5653adae-eb2c-43a2-8633-95ed40fedd59","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bff81400-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5653adae-eb2c-43a2-8633-95ed40fedd59","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","method":"POST","requestID":"bff81400-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"bff81400-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/5653adae-eb2c-43a2-8633-95ed40fedd59 200 11ms","method":"GET","requestID":"bff81400-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/peerconnections/5653adae-eb2c-43a2-8633-95ed40fedd59"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"fb56a2f3043a1cd96d0feb50ae59b43a","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch","requestID":"fb56a2f3043a1cd96d0feb50ae59b43a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bffd6b30-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:04Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d4f8dff-7883-4807-a15a-00d5bcb1106e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216164.201296} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.045393,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bffd6b30-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bffd6b30-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bffd6b30-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/673a614c-3ae6-4561-b99b-b8b837e88e27/signaling 200 12ms","method":"POST","requestID":"bffd6b30-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/673a614c-3ae6-4561-b99b-b8b837e88e27/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bfffb520-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:04Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef2de272-9fc0-4961-9e25-44a8787a8f15","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216164.2151148} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.081991,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bfffb520-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bfffb520-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bfffb520-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/032ae177-dd79-41b5-b8a1-080103ddba23/signaling 200 11ms","method":"POST","requestID":"bfffb520-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/032ae177-dd79-41b5-b8a1-080103ddba23/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NH0.WpHIZvMYfoPV3qoHyxSC6WeabzYjIXKPPTd1bOGJffA","level":"info","message":"auth send jwt","requestID":"13667c5b211ef37fe2c2c821af7c8ae2"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"13667c5b211ef37fe2c2c821af7c8ae2","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0","requestID":"13667c5b211ef37fe2c2c821af7c8ae2"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:04Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.187653,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"13667c5b211ef37fe2c2c821af7c8ae2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216164,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NH0.WpHIZvMYfoPV3qoHyxSC6WeabzYjIXKPPTd1bOGJffA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"13667c5b211ef37fe2c2c821af7c8ae2","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0","requestID":"13667c5b211ef37fe2c2c821af7c8ae2"} gateway-1 | {"time_local":"17/Jul/2024:11:36:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0 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":"13667c5b211ef37fe2c2c821af7c8ae2"} experiment-1 | {"level":"info","message":"GET /experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0 200 18ms","method":"GET","requestID":"13667c5b211ef37fe2c2c821af7c8ae2","responseTime":18,"status":200,"url":"/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NH0.WpHIZvMYfoPV3qoHyxSC6WeabzYjIXKPPTd1bOGJffA","level":"info","message":"auth send jwt","requestID":"2cb8d597d212560ebb815d702db490d6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2cb8d597d212560ebb815d702db490d6","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0","requestID":"2cb8d597d212560ebb815d702db490d6"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:04Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.137418,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:04Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"2cb8d597d212560ebb815d702db490d6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216164,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NH0.WpHIZvMYfoPV3qoHyxSC6WeabzYjIXKPPTd1bOGJffA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2cb8d597d212560ebb815d702db490d6","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0"},"level":"info","message":"Attempting to finish experiment","requestID":"2cb8d597d212560ebb815d702db490d6"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c00cfb90-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:04Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.481056,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:04Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5653adae-eb2c-43a2-8633-95ed40fedd59","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c00cfb90-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/5653adae-eb2c-43a2-8633-95ed40fedd59","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216164,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NH0.WpHIZvMYfoPV3qoHyxSC6WeabzYjIXKPPTd1bOGJffA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c00cfb90-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"673a614c-3ae6-4561-b99b-b8b837e88e27","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"673a614c-3ae6-4561-b99b-b8b837e88e27","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"673a614c-3ae6-4561-b99b-b8b837e88e27","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"032ae177-dd79-41b5-b8a1-080103ddba23","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"032ae177-dd79-41b5-b8a1-080103ddba23","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"032ae177-dd79-41b5-b8a1-080103ddba23","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5653adae-eb2c-43a2-8633-95ed40fedd59' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5653adae-eb2c-43a2-8633-95ed40fedd59' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"5653adae-eb2c-43a2-8633-95ed40fedd59","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f5397765c09cb0297fdca5f15adb855f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f5397765c09cb0297fdca5f15adb855f","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5653adae-eb2c-43a2-8633-95ed40fedd59': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5653adae-eb2c-43a2-8633-95ed40fedd59","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"6417a6db-6d27-48d6-af59-219082b76868","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216164.3247676} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d29895b5-bc7e-4736-9f33-d6749360e739","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216164.3254445} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3c1c87416c3c80bbb195f9a8a9812fd6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/673a614c-3ae6-4561-b99b-b8b837e88e27"},{"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/032ae177-dd79-41b5-b8a1-080103ddba23"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5653adae-eb2c-43a2-8633-95ed40fedd59"}}},"level":"info","message":"received a callback","requestID":"f5397765c09cb0297fdca5f15adb855f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3c1c87416c3c80bbb195f9a8a9812fd6","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"c00cfb90-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/relations/update"} 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/673a614c-3ae6-4561-b99b-b8b837e88e27"},{"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/032ae177-dd79-41b5-b8a1-080103ddba23"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5653adae-eb2c-43a2-8633-95ed40fedd59"}}},"level":"info","message":"received a callback","requestID":"3c1c87416c3c80bbb195f9a8a9812fd6"} device-1 | {"data":{"peerconnection":"5653adae-eb2c-43a2-8633-95ed40fedd59","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c00cfb90-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/5653adae-eb2c-43a2-8633-95ed40fedd59 204 47ms","method":"DELETE","requestID":"c00cfb90-4430-11ef-b47c-55a12d3fdb12","responseTime":47,"status":204,"url":"/peerconnections/5653adae-eb2c-43a2-8633-95ed40fedd59"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0"},"level":"info","message":"Successfully finished experiment","requestID":"2cb8d597d212560ebb815d702db490d6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c017d100-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:04Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F673a614c-3ae6-4561-b99b-b8b837e88e27","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f566e8a3-4af8-43fd-90fd-36de25b53661","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216164.3746917} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.849135,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c017d100-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/673a614c-3ae6-4561-b99b-b8b837e88e27","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c017d100-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c017d100-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/673a614c-3ae6-4561-b99b-b8b837e88e27/signaling 200 13ms","method":"POST","requestID":"c017d100-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/673a614c-3ae6-4561-b99b-b8b837e88e27/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8c3d679f-d8be-41af-be05-d7f5a33bd7e0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8c3d679f-d8be-41af-be05-d7f5a33bd7e0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"045a02f7-4b1a-41f3-bc46-11eac09d35bc","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216164.3822486} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"26202fcd-fdd4-40dd-88e2-c682ae3c33ad","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216164.382625} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"2cb8d597d212560ebb815d702db490d6","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c01a6910-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:04Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F032ae177-dd79-41b5-b8a1-080103ddba23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"660e6326-9b79-42a3-91a8-da8cd8c341f5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216164.3921685} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.819331,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c01a6910-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c01a6910-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c01a6910-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/032ae177-dd79-41b5-b8a1-080103ddba23/signaling 200 13ms","method":"POST","requestID":"c01a6910-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/032ae177-dd79-41b5-b8a1-080103ddba23/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0","requestID":"2cb8d597d212560ebb815d702db490d6"} gateway-1 | {"time_local":"17/Jul/2024:11:36:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2cb8d597d212560ebb815d702db490d6"} gateway-1 | {"time_local":"17/Jul/2024:11:36:04 +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.687","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7cbdc9a1e2437602e2851f42447698c0"} gateway-1 | {"time_local":"17/Jul/2024:11:36:04 +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.677","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a8baf60b80c686449f8e9ad082b99289"} experiment-1 | {"level":"info","message":"DELETE /experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0 204 177ms","method":"DELETE","requestID":"2cb8d597d212560ebb815d702db490d6","responseTime":177,"status":204,"url":"/experiments/8c3d679f-d8be-41af-be05-d7f5a33bd7e0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"f5397765c09cb0297fdca5f15adb855f","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"f5397765c09cb0297fdca5f15adb855f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"3c1c87416c3c80bbb195f9a8a9812fd6","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"3c1c87416c3c80bbb195f9a8a9812fd6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NH0.WpHIZvMYfoPV3qoHyxSC6WeabzYjIXKPPTd1bOGJffA","level":"info","message":"auth send jwt","requestID":"4a1ed54c4ddeacfcb703568e19b5a4bb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4a1ed54c4ddeacfcb703568e19b5a4bb","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/673a614c-3ae6-4561-b99b-b8b837e88e27' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"4a1ed54c4ddeacfcb703568e19b5a4bb"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:04Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.006461,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"4a1ed54c4ddeacfcb703568e19b5a4bb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216164,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NH0.WpHIZvMYfoPV3qoHyxSC6WeabzYjIXKPPTd1bOGJffA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4a1ed54c4ddeacfcb703568e19b5a4bb","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/032ae177-dd79-41b5-b8a1-080103ddba23' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b025cadf-d78b-41f1-8432-224da37572dc","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216164.485706} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4a1ed54c4ddeacfcb703568e19b5a4bb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9daf2319-0bdd-43a5-bb8d-a5d01fc43a73","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216164.4915824} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"4a1ed54c4ddeacfcb703568e19b5a4bb","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"33ad7bfc-2bef-481f-b8db-f11531323ba5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216164.5019383} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b6c71173-a116-4754-84dc-5ccbbf45c1c9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216164.5023205} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"4a1ed54c4ddeacfcb703568e19b5a4bb","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:04.501910556Z"}]},"request_id":"245eb912-5dbf-4f98-b498-19619e618fa1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216164.5076976} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4a1ed54c4ddeacfcb703568e19b5a4bb","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"4a1ed54c4ddeacfcb703568e19b5a4bb"} gateway-1 | {"time_local":"17/Jul/2024:11:36:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4a1ed54c4ddeacfcb703568e19b5a4bb"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"4a1ed54c4ddeacfcb703568e19b5a4bb","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NH0.WpHIZvMYfoPV3qoHyxSC6WeabzYjIXKPPTd1bOGJffA","level":"info","message":"auth send jwt","requestID":"935679ae53693adad1c60d995a5ce1a2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"935679ae53693adad1c60d995a5ce1a2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"935679ae53693adad1c60d995a5ce1a2"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:04Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.895264,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"935679ae53693adad1c60d995a5ce1a2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216164,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NH0.WpHIZvMYfoPV3qoHyxSC6WeabzYjIXKPPTd1bOGJffA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"935679ae53693adad1c60d995a5ce1a2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c3efbd45-7b29-41aa-a04e-24604ff7e992","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216164.5327294} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"935679ae53693adad1c60d995a5ce1a2","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e25c327a-8e8f-47ba-bcc4-2c48c32d8524","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216164.538816} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"935679ae53693adad1c60d995a5ce1a2","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"9f5192c0-6ad4-4461-a567-dbed74ff394a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216164.5552719} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a3b2fbda-2718-40d3-8c1a-6791b47ac4dd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216164.5555308} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"935679ae53693adad1c60d995a5ce1a2","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:04.555247017Z"}]},"request_id":"8c6f5f1c-ba16-49c1-b0d9-0d60c3829377","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216164.560403} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"935679ae53693adad1c60d995a5ce1a2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"935679ae53693adad1c60d995a5ce1a2"} gateway-1 | {"time_local":"17/Jul/2024:11:36:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"935679ae53693adad1c60d995a5ce1a2"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"935679ae53693adad1c60d995a5ce1a2","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI","level":"info","message":"auth send jwt","requestID":"c2a9d3727322be502bcaf2c9a6798e28"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c2a9d3727322be502bcaf2c9a6798e28","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c2a9d3727322be502bcaf2c9a6798e28"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.86219,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c2a9d3727322be502bcaf2c9a6798e28","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216165,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c2a9d3727322be502bcaf2c9a6798e28","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI","level":"info","message":"auth send jwt","requestID":"87f165bba168855bc8e29bdd55cbab96"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"87f165bba168855bc8e29bdd55cbab96","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"87f165bba168855bc8e29bdd55cbab96"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:04.501910556Z"}]},"request_id":"ef0d576f-9fca-4c21-8d0b-abc069c770b9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.042219} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c2a9d3727322be502bcaf2c9a6798e28","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.66791,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"87f165bba168855bc8e29bdd55cbab96","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216165,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"87f165bba168855bc8e29bdd55cbab96","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98b50eee-39ea-4757-8f28-276e04b50ebd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.0473063} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"c2a9d3727322be502bcaf2c9a6798e28","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:04.555247017Z"}]},"request_id":"422d8156-9ef2-4ccb-be44-86f05402971a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.0503352} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"87f165bba168855bc8e29bdd55cbab96","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f629c7a-4ec7-4857-802c-f7de0919afd6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.0549924} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"87f165bba168855bc8e29bdd55cbab96","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:04.501910556Z"}]},"request_id":"73c0a991-6fad-431d-9149-1bb02c289740","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.0601356} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c2a9d3727322be502bcaf2c9a6798e28","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c2a9d3727322be502bcaf2c9a6798e28"} device-1 | {"level":"info","message":"PATCH /devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661 200 29ms","method":"PATCH","requestID":"c2a9d3727322be502bcaf2c9a6798e28","responseTime":29,"status":200,"url":"/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661"} gateway-1 | {"time_local":"17/Jul/2024:11:36:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.034","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c2a9d3727322be502bcaf2c9a6798e28"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI","level":"info","message":"auth send jwt","requestID":"00f85964a09ccf6bb8cdd26151ece9a0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"00f85964a09ccf6bb8cdd26151ece9a0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"00f85964a09ccf6bb8cdd26151ece9a0"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:04.555247017Z"}]},"request_id":"41366056-a933-4011-a7a1-9cb3beff1afb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.0700135} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"87f165bba168855bc8e29bdd55cbab96","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.635487,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:05Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"87f165bba168855bc8e29bdd55cbab96"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"00f85964a09ccf6bb8cdd26151ece9a0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216165,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"00f85964a09ccf6bb8cdd26151ece9a0","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"17/Jul/2024:11:36:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.035","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"87f165bba168855bc8e29bdd55cbab96"} device-1 | {"level":"info","message":"PATCH /devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e 200 31ms","method":"PATCH","requestID":"87f165bba168855bc8e29bdd55cbab96","responseTime":31,"status":200,"url":"/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI","level":"info","message":"auth send jwt","requestID":"f279b0f012770b8a308aabdd82e15247"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f279b0f012770b8a308aabdd82e15247","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f279b0f012770b8a308aabdd82e15247"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681989,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"f279b0f012770b8a308aabdd82e15247","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216165,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f279b0f012770b8a308aabdd82e15247","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"00f85964a09ccf6bb8cdd26151ece9a0"} device-1 | {"level":"info","message":"POST /devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661/websocket 200 13ms","method":"POST","requestID":"00f85964a09ccf6bb8cdd26151ece9a0","responseTime":13,"status":200,"url":"/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:36:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.018","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"00f85964a09ccf6bb8cdd26151ece9a0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f279b0f012770b8a308aabdd82e15247"} gateway-1 | {"time_local":"17/Jul/2024:11:36:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e/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":"f279b0f012770b8a308aabdd82e15247"} device-1 | {"level":"info","message":"POST /devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e/websocket 200 15ms","method":"POST","requestID":"f279b0f012770b8a308aabdd82e15247","responseTime":15,"status":200,"url":"/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI","level":"info","message":"auth send jwt","requestID":"9e78e6938903527a1c5cfb555386b0d7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9e78e6938903527a1c5cfb555386b0d7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9e78e6938903527a1c5cfb555386b0d7"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.031815,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9e78e6938903527a1c5cfb555386b0d7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216165,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9e78e6938903527a1c5cfb555386b0d7","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:04.501910556Z"}]},"request_id":"67fad6ab-46cf-43fa-a015-2d842712a88b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.1253731} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9e78e6938903527a1c5cfb555386b0d7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9e78e6938903527a1c5cfb555386b0d7"} gateway-1 | {"time_local":"17/Jul/2024:11:36:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661? 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":"9e78e6938903527a1c5cfb555386b0d7"} device-1 | {"level":"info","message":"GET /devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661? 200 10ms","method":"GET","requestID":"9e78e6938903527a1c5cfb555386b0d7","responseTime":10,"status":200,"url":"/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI","level":"info","message":"auth send jwt","requestID":"94fdf9bd5ef9d6d9eb9dd142c4c2d85d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"94fdf9bd5ef9d6d9eb9dd142c4c2d85d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"94fdf9bd5ef9d6d9eb9dd142c4c2d85d"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.623235,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"94fdf9bd5ef9d6d9eb9dd142c4c2d85d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216165,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"94fdf9bd5ef9d6d9eb9dd142c4c2d85d","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:04.555247017Z"}]},"request_id":"dbcb9be2-6183-42cd-9cbd-3094ec8a3da6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.140377} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"94fdf9bd5ef9d6d9eb9dd142c4c2d85d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"94fdf9bd5ef9d6d9eb9dd142c4c2d85d"} gateway-1 | {"time_local":"17/Jul/2024:11:36:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"94fdf9bd5ef9d6d9eb9dd142c4c2d85d"} device-1 | {"level":"info","message":"GET /devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e? 200 9ms","method":"GET","requestID":"94fdf9bd5ef9d6d9eb9dd142c4c2d85d","responseTime":9,"status":200,"url":"/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI","level":"info","message":"auth send jwt","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.021827,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216165,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade"},"level":"info","message":"Attempting to run experiment","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade"},"level":"info","message":"Attempting to book experiment","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade"},"level":"info","message":"Successfully booked experiment","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c09369a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c093b7c0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.327802,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c09369a0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216165,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c09369a0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.118091,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c093b7c0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216165,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c093b7c0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:04.501910556Z"}]},"request_id":"c856884c-47bb-422a-acc7-8ed7c85d7128","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.188344} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c09369a0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:04.555247017Z"}]},"request_id":"09d99426-b226-4363-9efc-32c764d4e041","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.1898444} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c093b7c0-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c09369a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661? 200 17ms","method":"GET","requestID":"c09369a0-4430-11ef-b47c-55a12d3fdb12","responseTime":17,"status":200,"url":"/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c093b7c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e? 200 16ms","method":"GET","requestID":"c093b7c0-4430-11ef-b47c-55a12d3fdb12","responseTime":16,"status":200,"url":"/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade"},"level":"info","message":"Setting up experiment","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade"},"level":"info","message":"Successfully locked booking for experiment","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade"},"level":"info","message":"Attempting to update booking for experiment","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade"},"level":"info","message":"Successfully updated booking for experiment","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade"},"level":"info","message":"Successfully set up experiment","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c09f5080-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c09f9ea0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c09fecc0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.336519,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:05Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade"},"level":"info","message":"Successfully running experiment","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c09f5080-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216165,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c09f5080-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.657588,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c09f9ea0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216165,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c09f9ea0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60256","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:04.501910556Z"}]},"request_id":"39bb29eb-d478-4aa1-98d3-2d513bf6bbb8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.2677336} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c09f5080-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:04.555247017Z"}]},"request_id":"c997b524-6244-4e80-87c8-58d7a1feb247","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.2700806} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f729f915-4ccb-4c5f-b6a3-a9dfed2f7526","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.2703319} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c09f9ea0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:60256","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.387281,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c09fecc0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c09fecc0-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8b953d7b-4857-46e4-bf02-44b31d97aade#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8b953d7b-4857-46e4-bf02-44b31d97aade","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"98febb95-040b-47d5-949e-69d530cf70a6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.2749996} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c09f5080-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d5387d9e-f7ca-4c54-9c0a-55fd257f78dc","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.2753406} device-1 | {"level":"info","message":"GET /devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661? 200 21ms","method":"GET","requestID":"c09f5080-4430-11ef-b47c-55a12d3fdb12","responseTime":21,"status":200,"url":"/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c09f9ea0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7","responseTime":12,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e? 200 19ms","method":"GET","requestID":"c09f9ea0-4430-11ef-b47c-55a12d3fdb12","responseTime":19,"status":200,"url":"/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c09fecc0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661/signaling 200 18ms","method":"POST","requestID":"c09fecc0-4430-11ef-b47c-55a12d3fdb12","responseTime":18,"status":200,"url":"/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c0a32110-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c0a36f30-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:05Z"} gateway-1 | {"time_local":"17/Jul/2024:11:36:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} experiment-1 | {"level":"info","message":"POST /experiments? 201 137ms","method":"POST","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7","responseTime":137,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"350501e3-9c8e-4da0-a30c-93d437bf0c6c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.2866096} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.668612,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c0a32110-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c0a32110-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aba0b51d-6785-4aa8-8f73-730c65f5b254","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.2878973} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.662786,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c0a36f30-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c0a36f30-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI","level":"info","message":"auth send jwt","requestID":"b4461c80ac87593eaadb0d47ae475add"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b4461c80ac87593eaadb0d47ae475add","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c0a32110-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661/signaling 200 11ms","method":"POST","requestID":"c0a32110-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c0a36f30-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e/signaling 200 10ms","method":"POST","requestID":"c0a36f30-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b4461c80ac87593eaadb0d47ae475add"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c0a543f0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.68233,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b4461c80ac87593eaadb0d47ae475add","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216165,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b4461c80ac87593eaadb0d47ae475add","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3fce10c9-302b-4bdf-9679-bc95f976e989","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.2988882} authorization-1 | {"client_addr":"127.0.0.1:35742","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.253876,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c0a543f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c0a543f0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:04.501910556Z"}]},"request_id":"8df937e1-d690-4018-b914-2dcc75c5a367","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.3020952} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c0a543f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e/signaling 200 7ms","method":"POST","requestID":"c0a543f0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b4461c80ac87593eaadb0d47ae475add","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade"},"level":"info","message":"Building connection plan","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} 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":"9a5de783-0e4c-44b2-9a4d-6b7df7fd47c2"},{"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":"6d31f7a3-e393-4700-82d5-cd08bf8a8fe0"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"f1bcf7d6-7dec-4499-aead-8c5a1bbd1356"}]},"level":"info","message":"Built pairwise service configurations","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} 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/e9469c77-f381-4563-8b8d-eb48fb71cf4e"},{"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/30f79b5b-14e2-4f6b-bf7b-203c19cee661"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b4461c80ac87593eaadb0d47ae475add"} gateway-1 | {"time_local":"17/Jul/2024:11:36:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661? 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":"b4461c80ac87593eaadb0d47ae475add"} device-1 | {"level":"info","message":"GET /devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661? 200 12ms","method":"GET","requestID":"b4461c80ac87593eaadb0d47ae475add","responseTime":12,"status":200,"url":"/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c0a6f1a0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.713319,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c0a6f1a0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216165,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"c0a6f1a0-4430-11ef-b47c-55a12d3fdb12","responseTime":2,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI","level":"info","message":"auth send jwt","requestID":"0ea6bf64389824aaf34affbffd8d0ca5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0ea6bf64389824aaf34affbffd8d0ca5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0ea6bf64389824aaf34affbffd8d0ca5"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.69477,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"0ea6bf64389824aaf34affbffd8d0ca5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216165,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2NX0.bxrKC2dicn5gMd7yro2wjI8Bu3e6PCO81VjRLnOHRzI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0ea6bf64389824aaf34affbffd8d0ca5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:04.555247017Z"}]},"request_id":"4d142251-7d59-431b-8ae5-cb1d6000ff99","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.3186278} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0ea6bf64389824aaf34affbffd8d0ca5","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"41451139-fdb3-457a-afd5-23ad7cc43b26","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.319609} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b5ecc99-dbe3-49f7-b276-d78d367e00ea","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.3199437} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"c0a6f1a0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0ea6bf64389824aaf34affbffd8d0ca5"} gateway-1 | {"time_local":"17/Jul/2024:11:36:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e? 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":"0ea6bf64389824aaf34affbffd8d0ca5"} device-1 | {"level":"info","message":"GET /devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e? 200 13ms","method":"GET","requestID":"0ea6bf64389824aaf34affbffd8d0ca5","responseTime":13,"status":200,"url":"/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c0a6f1a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c0a6f1a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/02e61b7f-f10f-4d31-8aaa-e7ee4c987027'","requestID":"c0a6f1a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/02e61b7f-f10f-4d31-8aaa-e7ee4c987027'","requestID":"c0a6f1a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c0a6f1a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 27ms","method":"POST","requestID":"c0a6f1a0-4430-11ef-b47c-55a12d3fdb12","responseTime":27,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"c0a6f1a0-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"ea0ca0d4b6956bfc8375e9f26d70bcf7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c0af7d20-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a68469ad-06d4-4184-a217-6635f8f66b5c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.366755} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.420161,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c0af7d20-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c0af7d20-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c0af7d20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661/signaling 200 9ms","method":"POST","requestID":"c0af7d20-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c0b12ad0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d581397-8d3e-4b40-865c-2d18028682b1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216165.3790836} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.144875,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c0b12ad0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c0b12ad0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c0b12ad0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e/signaling 200 10ms","method":"POST","requestID":"c0b12ad0-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e/signaling"} device-1 | {"device":"30f79b5b-14e2-4f6b-bf7b-203c19cee661","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"02e61b7f-f10f-4d31-8aaa-e7ee4c987027","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e9469c77-f381-4563-8b8d-eb48fb71cf4e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"02e61b7f-f10f-4d31-8aaa-e7ee4c987027","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e9469c77-f381-4563-8b8d-eb48fb71cf4e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e9469c77-f381-4563-8b8d-eb48fb71cf4e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e9469c77-f381-4563-8b8d-eb48fb71cf4e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e9469c77-f381-4563-8b8d-eb48fb71cf4e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/02e61b7f-f10f-4d31-8aaa-e7ee4c987027' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"02e61b7f-f10f-4d31-8aaa-e7ee4c987027","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"916b2589aa9ac0b178504fd45f6f0815","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"916b2589aa9ac0b178504fd45f6f0815","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/e9469c77-f381-4563-8b8d-eb48fb71cf4e"},{"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/30f79b5b-14e2-4f6b-bf7b-203c19cee661"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/02e61b7f-f10f-4d31-8aaa-e7ee4c987027"}}},"level":"info","message":"received a callback","requestID":"916b2589aa9ac0b178504fd45f6f0815"} device-1 | {"device":"30f79b5b-14e2-4f6b-bf7b-203c19cee661","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"30f79b5b-14e2-4f6b-bf7b-203c19cee661","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"30f79b5b-14e2-4f6b-bf7b-203c19cee661","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"916b2589aa9ac0b178504fd45f6f0815","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"916b2589aa9ac0b178504fd45f6f0815"} device-1 | {"data":{"peerconnection":"02e61b7f-f10f-4d31-8aaa-e7ee4c987027","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e9469c77-f381-4563-8b8d-eb48fb71cf4e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"30f79b5b-14e2-4f6b-bf7b-203c19cee661","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e9469c77-f381-4563-8b8d-eb48fb71cf4e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"30f79b5b-14e2-4f6b-bf7b-203c19cee661","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"02e61b7f-f10f-4d31-8aaa-e7ee4c987027","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/02e61b7f-f10f-4d31-8aaa-e7ee4c987027' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"02e61b7f-f10f-4d31-8aaa-e7ee4c987027","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"88e3e602afa6633860b367c37d5ee797","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"88e3e602afa6633860b367c37d5ee797","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/e9469c77-f381-4563-8b8d-eb48fb71cf4e"},{"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/30f79b5b-14e2-4f6b-bf7b-203c19cee661"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/02e61b7f-f10f-4d31-8aaa-e7ee4c987027"}}},"level":"info","message":"received a callback","requestID":"88e3e602afa6633860b367c37d5ee797"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c1ef0200-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:07Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F02e61b7f-f10f-4d31-8aaa-e7ee4c987027","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5bc5fae4-35f7-4b1f-b0f0-4f0d40924042","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216167.462523} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.682613,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/02e61b7f-f10f-4d31-8aaa-e7ee4c987027","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c1ef0200-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/02e61b7f-f10f-4d31-8aaa-e7ee4c987027","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","method":"POST","requestID":"c1ef0200-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c1ef0200-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/02e61b7f-f10f-4d31-8aaa-e7ee4c987027 200 12ms","method":"GET","requestID":"c1ef0200-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/peerconnections/02e61b7f-f10f-4d31-8aaa-e7ee4c987027"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"88e3e602afa6633860b367c37d5ee797","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"88e3e602afa6633860b367c37d5ee797"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1f4a750-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:07Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f9106846-1c15-4451-b9d4-bebebf6c9cfa","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216167.5001328} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.742688,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c1f4a750-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c1f4a750-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1f4a750-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e/signaling 200 13ms","method":"POST","requestID":"c1f4a750-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c1f71850-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:07Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"652f4fad-c5d6-44ae-b980-abc3a4b297f6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216167.5158617} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.443201,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c1f71850-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c1f71850-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c1f71850-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661/signaling 200 13ms","method":"POST","requestID":"c1f71850-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2N30.nIPerUWMdc1j60Cn7Z7wj1NiEFVWuxfbi9eZvch4few","level":"info","message":"auth send jwt","requestID":"3d2c2614cb0977db87804b85c35b8056"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"3d2c2614cb0977db87804b85c35b8056","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8b953d7b-4857-46e4-bf02-44b31d97aade","requestID":"3d2c2614cb0977db87804b85c35b8056"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.244468,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"3d2c2614cb0977db87804b85c35b8056","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216167,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2N30.nIPerUWMdc1j60Cn7Z7wj1NiEFVWuxfbi9eZvch4few"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3d2c2614cb0977db87804b85c35b8056","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8b953d7b-4857-46e4-bf02-44b31d97aade","requestID":"3d2c2614cb0977db87804b85c35b8056"} experiment-1 | {"level":"info","message":"GET /experiments/8b953d7b-4857-46e4-bf02-44b31d97aade 200 16ms","method":"GET","requestID":"3d2c2614cb0977db87804b85c35b8056","responseTime":16,"status":200,"url":"/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade"} gateway-1 | {"time_local":"17/Jul/2024:11:36:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8b953d7b-4857-46e4-bf02-44b31d97aade HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3d2c2614cb0977db87804b85c35b8056"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2N30.nIPerUWMdc1j60Cn7Z7wj1NiEFVWuxfbi9eZvch4few","level":"info","message":"auth send jwt","requestID":"204c3c13704a83660c719666b74017a3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"204c3c13704a83660c719666b74017a3","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8b953d7b-4857-46e4-bf02-44b31d97aade","requestID":"204c3c13704a83660c719666b74017a3"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.227394,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:07Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"204c3c13704a83660c719666b74017a3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216167,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2N30.nIPerUWMdc1j60Cn7Z7wj1NiEFVWuxfbi9eZvch4few"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"204c3c13704a83660c719666b74017a3","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade"},"level":"info","message":"Attempting to finish experiment","requestID":"204c3c13704a83660c719666b74017a3"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c2034d50-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.630369,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:07Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/02e61b7f-f10f-4d31-8aaa-e7ee4c987027","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c2034d50-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/02e61b7f-f10f-4d31-8aaa-e7ee4c987027","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216167,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2N30.nIPerUWMdc1j60Cn7Z7wj1NiEFVWuxfbi9eZvch4few"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c2034d50-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"e9469c77-f381-4563-8b8d-eb48fb71cf4e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e9469c77-f381-4563-8b8d-eb48fb71cf4e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e9469c77-f381-4563-8b8d-eb48fb71cf4e","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"30f79b5b-14e2-4f6b-bf7b-203c19cee661","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"30f79b5b-14e2-4f6b-bf7b-203c19cee661","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"30f79b5b-14e2-4f6b-bf7b-203c19cee661","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/02e61b7f-f10f-4d31-8aaa-e7ee4c987027' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/02e61b7f-f10f-4d31-8aaa-e7ee4c987027' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"02e61b7f-f10f-4d31-8aaa-e7ee4c987027","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F02e61b7f-f10f-4d31-8aaa-e7ee4c987027': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F02e61b7f-f10f-4d31-8aaa-e7ee4c987027","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"97015254-83f1-439f-933b-6b6f82f3f395","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216167.6174335} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8c689210db86cd4c1328edfa0bdd9eca","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"8c689210db86cd4c1328edfa0bdd9eca","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:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da68edc5-7934-435c-a847-991fdc24f68d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216167.61821} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"c2034d50-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"670d91e23d7b35600d3b109e691792c6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/e9469c77-f381-4563-8b8d-eb48fb71cf4e"},{"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/30f79b5b-14e2-4f6b-bf7b-203c19cee661"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/02e61b7f-f10f-4d31-8aaa-e7ee4c987027"}}},"level":"info","message":"received a callback","requestID":"8c689210db86cd4c1328edfa0bdd9eca"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"670d91e23d7b35600d3b109e691792c6","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e"},{"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/30f79b5b-14e2-4f6b-bf7b-203c19cee661"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/02e61b7f-f10f-4d31-8aaa-e7ee4c987027"}}},"level":"info","message":"received a callback","requestID":"670d91e23d7b35600d3b109e691792c6"} device-1 | {"data":{"peerconnection":"02e61b7f-f10f-4d31-8aaa-e7ee4c987027","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c2034d50-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/02e61b7f-f10f-4d31-8aaa-e7ee4c987027 204 53ms","method":"DELETE","requestID":"c2034d50-4430-11ef-b47c-55a12d3fdb12","responseTime":53,"status":204,"url":"/peerconnections/02e61b7f-f10f-4d31-8aaa-e7ee4c987027"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade"},"level":"info","message":"Successfully finished experiment","requestID":"204c3c13704a83660c719666b74017a3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c20ebf00-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:07Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe9469c77-f381-4563-8b8d-eb48fb71cf4e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd7d1d0b-90cf-4e4d-b522-c1e581b53c82","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216167.6715038} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.093897,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c20ebf00-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c20ebf00-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c20ebf00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e/signaling 200 14ms","method":"POST","requestID":"c20ebf00-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8b953d7b-4857-46e4-bf02-44b31d97aade': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8b953d7b-4857-46e4-bf02-44b31d97aade","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"df953bce-3f9c-46a6-a131-3682c341d74b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216167.6791844} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ce164264-f8e2-4a10-ada9-465af99f3cbe","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216167.6799393} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"204c3c13704a83660c719666b74017a3","responseTime":20,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c2117e20-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:07Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30f79b5b-14e2-4f6b-bf7b-203c19cee661","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f46b093e-38bb-4a91-b311-a7df6eed6805","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216167.6889215} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.884039,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:07Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c2117e20-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c2117e20-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c2117e20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661/signaling 200 13ms","method":"POST","requestID":"c2117e20-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/30f79b5b-14e2-4f6b-bf7b-203c19cee661/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8b953d7b-4857-46e4-bf02-44b31d97aade","requestID":"204c3c13704a83660c719666b74017a3"} gateway-1 | {"time_local":"17/Jul/2024:11:36:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8b953d7b-4857-46e4-bf02-44b31d97aade HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.185","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"204c3c13704a83660c719666b74017a3"} experiment-1 | {"level":"info","message":"DELETE /experiments/8b953d7b-4857-46e4-bf02-44b31d97aade 204 181ms","method":"DELETE","requestID":"204c3c13704a83660c719666b74017a3","responseTime":181,"status":204,"url":"/experiments/8b953d7b-4857-46e4-bf02-44b31d97aade"} gateway-1 | {"time_local":"17/Jul/2024:11:36:07 +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.657","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"21b273516259b51051221fb5ed7993b5"} gateway-1 | {"time_local":"17/Jul/2024:11:36:07 +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.668","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6e60266c93590a4e0c3724c5552c94b3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"8c689210db86cd4c1328edfa0bdd9eca","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"8c689210db86cd4c1328edfa0bdd9eca"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"670d91e23d7b35600d3b109e691792c6","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"670d91e23d7b35600d3b109e691792c6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2N30.nIPerUWMdc1j60Cn7Z7wj1NiEFVWuxfbi9eZvch4few","level":"info","message":"auth send jwt","requestID":"c716969010bb96bca34b794ef818cb7c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c716969010bb96bca34b794ef818cb7c","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/30f79b5b-14e2-4f6b-bf7b-203c19cee661' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"c716969010bb96bca34b794ef818cb7c"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.086929,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c716969010bb96bca34b794ef818cb7c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216167,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2N30.nIPerUWMdc1j60Cn7Z7wj1NiEFVWuxfbi9eZvch4few"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c716969010bb96bca34b794ef818cb7c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e9469c77-f381-4563-8b8d-eb48fb71cf4e' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F029b6ae8-86c7-4553-8df6-c1bd6a24a96d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c0f1269e-cac3-4864-aa36-e430fdd4e0f4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216167.7818046} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c716969010bb96bca34b794ef818cb7c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"47f3c3c1-e2d9-48d5-89f4-4c03e44cc3d2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216167.789372} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"c716969010bb96bca34b794ef818cb7c","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F029b6ae8-86c7-4553-8df6-c1bd6a24a96d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"223b64e2-d2c8-4abf-b399-207474ca0604","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216167.8011322} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f2f356d5-6f63-4e0e-bb02-94ee129278af","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216167.8014538} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"c716969010bb96bca34b794ef818cb7c","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F029b6ae8-86c7-4553-8df6-c1bd6a24a96d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F029b6ae8-86c7-4553-8df6-c1bd6a24a96d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:07.801097491Z"}]},"request_id":"153b6eaa-ba8b-468b-a525-7b6015b650e2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216167.8074715} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c716969010bb96bca34b794ef818cb7c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c716969010bb96bca34b794ef818cb7c"} gateway-1 | {"time_local":"17/Jul/2024:11:36:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c716969010bb96bca34b794ef818cb7c"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"c716969010bb96bca34b794ef818cb7c","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2N30.nIPerUWMdc1j60Cn7Z7wj1NiEFVWuxfbi9eZvch4few","level":"info","message":"auth send jwt","requestID":"23be390329e6082616e6f4273e8285c0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"23be390329e6082616e6f4273e8285c0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"23be390329e6082616e6f4273e8285c0"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:07Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.802475,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"23be390329e6082616e6f4273e8285c0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216167,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2N30.nIPerUWMdc1j60Cn7Z7wj1NiEFVWuxfbi9eZvch4few"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"23be390329e6082616e6f4273e8285c0","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5f3bc8c-39ae-4e03-95e8-ccea56c1786e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a05d6da1-b6b8-48bf-94b4-b61d44147713","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216167.8317943} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"23be390329e6082616e6f4273e8285c0","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ab10243-c22b-4f7b-a228-5a9644fa4fb7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216167.8367085} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"23be390329e6082616e6f4273e8285c0","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5f3bc8c-39ae-4e03-95e8-ccea56c1786e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"4b2591b9-21b2-482d-b6fc-58620695d71e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216167.8517075} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d3258fb-eaec-4502-9ad4-ed0a770feeb6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216167.8518918} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"23be390329e6082616e6f4273e8285c0","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5f3bc8c-39ae-4e03-95e8-ccea56c1786e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5f3bc8c-39ae-4e03-95e8-ccea56c1786e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:07.851676722Z"}]},"request_id":"b9b930ea-b6ca-4be2-9e9e-0310c2342bcb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216167.8565328} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"23be390329e6082616e6f4273e8285c0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"23be390329e6082616e6f4273e8285c0"} gateway-1 | {"time_local":"17/Jul/2024:11:36:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"23be390329e6082616e6f4273e8285c0"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"23be390329e6082616e6f4273e8285c0","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"62d0f3faea050e63e82cab947ac02e7d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"62d0f3faea050e63e82cab947ac02e7d","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:36:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e/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":"62d0f3faea050e63e82cab947ac02e7d"} device-1 | {"level":"info","message":"OPTIONS /devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e/websocket 200 1ms","method":"OPTIONS","requestID":"62d0f3faea050e63e82cab947ac02e7d","responseTime":1,"status":200,"url":"/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5e54f93b7e618acba34b26d6605f28ec","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5e54f93b7e618acba34b26d6605f28ec","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:36:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d/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":"5e54f93b7e618acba34b26d6605f28ec"} device-1 | {"level":"info","message":"OPTIONS /devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d/websocket 200 2ms","method":"OPTIONS","requestID":"5e54f93b7e618acba34b26d6605f28ec","responseTime":2,"status":200,"url":"/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2OX0.mvTTFDj1qCIayrIxvzAAPJFd56i3-6XmV9wStKJjm5w","level":"info","message":"auth send jwt","requestID":"badad56b0c26bacd16c8aa3c9eaf4944"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"badad56b0c26bacd16c8aa3c9eaf4944","responseTime":6,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2OX0.mvTTFDj1qCIayrIxvzAAPJFd56i3-6XmV9wStKJjm5w","level":"info","message":"auth send jwt","requestID":"e80b049fa71e00f68cbf6cbbc5927910"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"badad56b0c26bacd16c8aa3c9eaf4944"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e80b049fa71e00f68cbf6cbbc5927910","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e80b049fa71e00f68cbf6cbbc5927910"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.155624,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"badad56b0c26bacd16c8aa3c9eaf4944","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216169,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2OX0.mvTTFDj1qCIayrIxvzAAPJFd56i3-6XmV9wStKJjm5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"badad56b0c26bacd16c8aa3c9eaf4944","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.909805,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"e80b049fa71e00f68cbf6cbbc5927910","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216169,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2OX0.mvTTFDj1qCIayrIxvzAAPJFd56i3-6XmV9wStKJjm5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"e80b049fa71e00f68cbf6cbbc5927910","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e80b049fa71e00f68cbf6cbbc5927910"} device-1 | {"level":"info","message":"POST /devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d/websocket 200 30ms","method":"POST","requestID":"e80b049fa71e00f68cbf6cbbc5927910","responseTime":30,"status":200,"url":"/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:36:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d/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":"e80b049fa71e00f68cbf6cbbc5927910"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"badad56b0c26bacd16c8aa3c9eaf4944"} gateway-1 | {"time_local":"17/Jul/2024:11:36:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"badad56b0c26bacd16c8aa3c9eaf4944"} device-1 | {"level":"info","message":"POST /devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e/websocket 200 33ms","method":"POST","requestID":"badad56b0c26bacd16c8aa3c9eaf4944","responseTime":33,"status":200,"url":"/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2OX0.mvTTFDj1qCIayrIxvzAAPJFd56i3-6XmV9wStKJjm5w","level":"info","message":"auth send jwt","requestID":"dfdfee680a9dc83e1b90c1708f217086"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"dfdfee680a9dc83e1b90c1708f217086","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"dfdfee680a9dc83e1b90c1708f217086"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.332091,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"dfdfee680a9dc83e1b90c1708f217086","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216169,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2OX0.mvTTFDj1qCIayrIxvzAAPJFd56i3-6XmV9wStKJjm5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dfdfee680a9dc83e1b90c1708f217086","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F029b6ae8-86c7-4553-8df6-c1bd6a24a96d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F029b6ae8-86c7-4553-8df6-c1bd6a24a96d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:07.801097491Z"}]},"request_id":"5339c0e5-2f15-4ec3-a3e2-72d406a4e834","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216169.8853827} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"dfdfee680a9dc83e1b90c1708f217086","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"dfdfee680a9dc83e1b90c1708f217086"} gateway-1 | {"time_local":"17/Jul/2024:11:36:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d? 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":"dfdfee680a9dc83e1b90c1708f217086"} device-1 | {"level":"info","message":"GET /devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d? 200 19ms","method":"GET","requestID":"dfdfee680a9dc83e1b90c1708f217086","responseTime":19,"status":200,"url":"/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2OX0.mvTTFDj1qCIayrIxvzAAPJFd56i3-6XmV9wStKJjm5w","level":"info","message":"auth send jwt","requestID":"fe5f1611c86e3010570a2c23f96bff49"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fe5f1611c86e3010570a2c23f96bff49","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fe5f1611c86e3010570a2c23f96bff49"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.152121,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"fe5f1611c86e3010570a2c23f96bff49","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216169,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2OX0.mvTTFDj1qCIayrIxvzAAPJFd56i3-6XmV9wStKJjm5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"fe5f1611c86e3010570a2c23f96bff49","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5f3bc8c-39ae-4e03-95e8-ccea56c1786e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5f3bc8c-39ae-4e03-95e8-ccea56c1786e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:07.851676722Z"}]},"request_id":"d337109e-c36e-43ca-a0bb-0e8f2b95fcd7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216169.9132192} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"fe5f1611c86e3010570a2c23f96bff49","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fe5f1611c86e3010570a2c23f96bff49"} gateway-1 | {"time_local":"17/Jul/2024:11:36:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e? 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":"fe5f1611c86e3010570a2c23f96bff49"} device-1 | {"level":"info","message":"GET /devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e? 200 19ms","method":"GET","requestID":"fe5f1611c86e3010570a2c23f96bff49","responseTime":19,"status":200,"url":"/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2OX0.mvTTFDj1qCIayrIxvzAAPJFd56i3-6XmV9wStKJjm5w","level":"info","message":"auth send jwt","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dec45491c9c3f293735f16bc3d2f0be7","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.134643,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"dec45491c9c3f293735f16bc3d2f0be7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216169,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2OX0.mvTTFDj1qCIayrIxvzAAPJFd56i3-6XmV9wStKJjm5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dec45491c9c3f293735f16bc3d2f0be7","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c"},"level":"info","message":"Attempting to run experiment","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c"},"level":"info","message":"Attempting to book experiment","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c"},"level":"info","message":"Successfully booked experiment","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c36ec430-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c36f3960-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:09Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.741742,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c36ec430-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216169,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2OX0.mvTTFDj1qCIayrIxvzAAPJFd56i3-6XmV9wStKJjm5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"c36ec430-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.41422,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c36f3960-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216169,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2OX0.mvTTFDj1qCIayrIxvzAAPJFd56i3-6XmV9wStKJjm5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c36f3960-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F029b6ae8-86c7-4553-8df6-c1bd6a24a96d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F029b6ae8-86c7-4553-8df6-c1bd6a24a96d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:07.801097491Z"}]},"request_id":"939617aa-106e-4602-95c6-cc6f41e78aa6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216169.984294} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c36ec430-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5f3bc8c-39ae-4e03-95e8-ccea56c1786e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5f3bc8c-39ae-4e03-95e8-ccea56c1786e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:07.851676722Z"}]},"request_id":"8723f5e4-7ef6-4bc7-a8e6-c8e2224bd015","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216169.98566} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c36f3960-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c36ec430-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d? 200 21ms","method":"GET","requestID":"c36ec430-4430-11ef-b47c-55a12d3fdb12","responseTime":21,"status":200,"url":"/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c36f3960-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e? 200 19ms","method":"GET","requestID":"c36f3960-4430-11ef-b47c-55a12d3fdb12","responseTime":19,"status":200,"url":"/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c"},"level":"info","message":"Setting up experiment","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c"},"level":"info","message":"Successfully locked booking for experiment","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c"},"level":"info","message":"Attempting to update booking for experiment","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c"},"level":"info","message":"Successfully updated booking for experiment","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c"},"level":"info","message":"Successfully set up experiment","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c379e7c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c37a35e0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c37a5cf0-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c"},"level":"info","message":"Successfully running experiment","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.990611,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c379e7c0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216169,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2OX0.mvTTFDj1qCIayrIxvzAAPJFd56i3-6XmV9wStKJjm5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c379e7c0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.263934,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c37a35e0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216169,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2OX0.mvTTFDj1qCIayrIxvzAAPJFd56i3-6XmV9wStKJjm5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c37a35e0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60268","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F029b6ae8-86c7-4553-8df6-c1bd6a24a96d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F029b6ae8-86c7-4553-8df6-c1bd6a24a96d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:07.801097491Z"}]},"request_id":"62a470f4-cc11-4101-a8d5-bf0aa0701559","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.0568118} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F029b6ae8-86c7-4553-8df6-c1bd6a24a96d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a7a982f-3adf-4e75-a8c2-32f07ec9cbb6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.0572846} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c379e7c0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5f3bc8c-39ae-4e03-95e8-ccea56c1786e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5f3bc8c-39ae-4e03-95e8-ccea56c1786e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:07.851676722Z"}]},"request_id":"7ae7bae8-7446-4df9-ab5a-a1031be74aed","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.058913} authorization-1 | {"client_addr":"127.0.0.1:60268","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.446558,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c37a5cf0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c37a5cf0-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"c37a35e0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c379e7c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d? 200 23ms","method":"GET","requestID":"c379e7c0-4430-11ef-b47c-55a12d3fdb12","responseTime":23,"status":200,"url":"/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d?"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F090542ca-212b-44ba-a199-bb7835f4e67c#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F090542ca-212b-44ba-a199-bb7835f4e67c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"cd5b440c-4c6e-4328-98f7-15babae9a251","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.067874} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c37a5cf0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aaf32364-52c3-428d-9cc8-1e3e05b6efcd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.0681784} device-1 | {"level":"info","message":"POST /devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d/signaling 200 22ms","method":"POST","requestID":"c37a5cf0-4430-11ef-b47c-55a12d3fdb12","responseTime":22,"status":200,"url":"/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c37a35e0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"dec45491c9c3f293735f16bc3d2f0be7","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e? 200 24ms","method":"GET","requestID":"c37a35e0-4430-11ef-b47c-55a12d3fdb12","responseTime":24,"status":200,"url":"/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c37e0670-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c37ea2b0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5f3bc8c-39ae-4e03-95e8-ccea56c1786e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ec998a05-a5a0-4b8c-802d-4c437ffa44c2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.0754614} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.533531,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c37e0670-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c37e0670-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} gateway-1 | {"time_local":"17/Jul/2024:11:36:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.158","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} experiment-1 | {"level":"info","message":"POST /experiments? 201 152ms","method":"POST","requestID":"dec45491c9c3f293735f16bc3d2f0be7","responseTime":152,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c37e0670-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} device-1 | {"level":"info","message":"POST /devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e/signaling 200 10ms","method":"POST","requestID":"c37e0670-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F029b6ae8-86c7-4553-8df6-c1bd6a24a96d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e7eb416-9f53-4d4a-b0c5-52adb56bb6e6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.0820212} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.406076,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c37ea2b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c37ea2b0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3MH0.AL5bum27ICPz6ACuHbaR1uciRZLJ0gZjsXOsI8EwZKg","level":"info","message":"auth send jwt","requestID":"fe725d92c9366c8578db4a7a487e0dc9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fe725d92c9366c8578db4a7a487e0dc9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fe725d92c9366c8578db4a7a487e0dc9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c37ea2b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d/signaling 200 13ms","method":"POST","requestID":"c37ea2b0-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.405858,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c380eca0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"fe725d92c9366c8578db4a7a487e0dc9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216170,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3MH0.AL5bum27ICPz6ACuHbaR1uciRZLJ0gZjsXOsI8EwZKg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fe725d92c9366c8578db4a7a487e0dc9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5f3bc8c-39ae-4e03-95e8-ccea56c1786e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"16c2b00c-8183-4316-9f0f-8f92fbf37fb8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.0940504} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F029b6ae8-86c7-4553-8df6-c1bd6a24a96d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F029b6ae8-86c7-4553-8df6-c1bd6a24a96d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:07.801097491Z"}]},"request_id":"1b827432-583b-4369-9937-7dd6a4768559","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.0942578} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fe725d92c9366c8578db4a7a487e0dc9","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.477215,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c380eca0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c380eca0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fe725d92c9366c8578db4a7a487e0dc9"} gateway-1 | {"time_local":"17/Jul/2024:11:36:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d? 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":"fe725d92c9366c8578db4a7a487e0dc9"} device-1 | {"level":"info","message":"GET /devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d? 200 13ms","method":"GET","requestID":"fe725d92c9366c8578db4a7a487e0dc9","responseTime":13,"status":200,"url":"/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c380eca0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e/signaling 200 9ms","method":"POST","requestID":"c380eca0-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c"},"level":"info","message":"Building connection plan","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} 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":"1ee6332e-fd4d-4cc0-86e4-910ac0c17cc1"},{"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":"4709d259-a91b-4e50-af72-ee9b333feb72"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"ba505b8c-a3a8-4a09-964d-2b9f537a3ea6"}]},"level":"info","message":"Built pairwise service configurations","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} 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/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e"},{"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/029b6ae8-86c7-4553-8df6-c1bd6a24a96d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c382e870-4430-11ef-b47c-55a12d3fdb12"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3MH0.AL5bum27ICPz6ACuHbaR1uciRZLJ0gZjsXOsI8EwZKg","level":"info","message":"auth send jwt","requestID":"1515e94718b16c67df96e74ef9231f52"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1515e94718b16c67df96e74ef9231f52","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1515e94718b16c67df96e74ef9231f52"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.747922,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c382e870-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216169,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE2OX0.mvTTFDj1qCIayrIxvzAAPJFd56i3-6XmV9wStKJjm5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c382e870-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.588012,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"1515e94718b16c67df96e74ef9231f52","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216170,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3MH0.AL5bum27ICPz6ACuHbaR1uciRZLJ0gZjsXOsI8EwZKg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1515e94718b16c67df96e74ef9231f52","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5f3bc8c-39ae-4e03-95e8-ccea56c1786e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5f3bc8c-39ae-4e03-95e8-ccea56c1786e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:07.851676722Z"}]},"request_id":"105e3b37-5658-43ca-9919-32f9ee122508","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.113152} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1515e94718b16c67df96e74ef9231f52","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1515e94718b16c67df96e74ef9231f52"} gateway-1 | {"time_local":"17/Jul/2024:11:36:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e? 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":"1515e94718b16c67df96e74ef9231f52"} device-1 | {"level":"info","message":"GET /devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e? 200 11ms","method":"GET","requestID":"1515e94718b16c67df96e74ef9231f52","responseTime":11,"status":200,"url":"/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e?"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"88f34a01-b09a-45bf-a950-fa6b58f908dc","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.117692} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eb9cfc30-b03e-4985-babb-7e2289634dfb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.1179328} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"c382e870-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c382e870-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c382e870-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1'","requestID":"c382e870-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1'","requestID":"c382e870-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c382e870-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 26ms","method":"POST","requestID":"c382e870-4430-11ef-b47c-55a12d3fdb12","responseTime":26,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"c382e870-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1","device":"b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","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"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1","device":"029b6ae8-86c7-4553-8df6-c1bd6a24a96d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","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"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"dec45491c9c3f293735f16bc3d2f0be7"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c38b25d0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F029b6ae8-86c7-4553-8df6-c1bd6a24a96d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd03d824-cd9c-4aab-b6cc-aa11caf12370","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.1621795} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.205413,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c38b25d0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c38b25d0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c38b25d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d/signaling 200 9ms","method":"POST","requestID":"c38b25d0-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c38cd380-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"device":"029b6ae8-86c7-4553-8df6-c1bd6a24a96d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"029b6ae8-86c7-4553-8df6-c1bd6a24a96d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5f3bc8c-39ae-4e03-95e8-ccea56c1786e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"850b7ddd-0834-4f04-bd67-a84f54b12ffa","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.173731} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.887467,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c38cd380-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c38cd380-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c38cd380-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e/signaling 200 9ms","method":"POST","requestID":"c38cd380-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e/signaling"} device-1 | {"device":"b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 7977046834980464624 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:Sl7n\r\na=ice-pwd:k1mSqZkcTPFQfluIjZG6t7xw\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9B:13:3F:34:D7:18:AE:43:26:73:75:21:D4:D8:25:2D:8A:28:5B:18:96:EB:34:DC:62:20:00:97:EF:A8:99:3E\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"029b6ae8-86c7-4553-8df6-c1bd6a24a96d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 4187001152005869140 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:sJP5\r\na=ice-pwd:/27XQn7h38hE6nrzuPGlCDKD\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B7:80:1A:A1:C1:ED:7A:E1:84:10:25:73:66:5E:B7:9F:93:DB:C7:3D:3F:4E:D7:B9:20:E5:9B:63:2F:4A:19:ED\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2747649564 1 udp 2113937151 41d126cc-4fe2-4156-a67a-ca607483be57.local 40718 typ host generation 0 ufrag sJP5 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:669557859 1 udp 1677729535 141.24.211.56 40718 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag sJP5 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e'"} device-1 | {"content":{"candidate":"candidate:646455695 1 udp 2113937151 a38ccb1a-2b49-4479-afe1-944084533617.local 54626 typ host generation 0 ufrag Sl7n network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"029b6ae8-86c7-4553-8df6-c1bd6a24a96d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:81178370 1 udp 1677729535 141.24.211.56 54626 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag Sl7n network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"029b6ae8-86c7-4553-8df6-c1bd6a24a96d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d'"} device-1 | {"device":"029b6ae8-86c7-4553-8df6-c1bd6a24a96d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7643b93c-aa57-4641-b4f6-bba1025dc9c1","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9b16ec3fdbd7130bd3b46d1622b8c968","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 | {"device":"029b6ae8-86c7-4553-8df6-c1bd6a24a96d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9b16ec3fdbd7130bd3b46d1622b8c968","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e"},{"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/029b6ae8-86c7-4553-8df6-c1bd6a24a96d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1"}}},"level":"info","message":"received a callback","requestID":"9b16ec3fdbd7130bd3b46d1622b8c968"} device-1 | {"device":"029b6ae8-86c7-4553-8df6-c1bd6a24a96d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"9b16ec3fdbd7130bd3b46d1622b8c968","responseTime":7,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"9b16ec3fdbd7130bd3b46d1622b8c968"} device-1 | {"data":{"peerconnection":"7643b93c-aa57-4641-b4f6-bba1025dc9c1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"7643b93c-aa57-4641-b4f6-bba1025dc9c1","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/7643b93c-aa57-4641-b4f6-bba1025dc9c1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7643b93c-aa57-4641-b4f6-bba1025dc9c1","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f15e5cd4bca0c17d8ceca7d84d494a99","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f15e5cd4bca0c17d8ceca7d84d494a99","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/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e"},{"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/029b6ae8-86c7-4553-8df6-c1bd6a24a96d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1"}}},"level":"info","message":"received a callback","requestID":"f15e5cd4bca0c17d8ceca7d84d494a99"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c3986c40-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7643b93c-aa57-4641-b4f6-bba1025dc9c1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"744cbf41-0ff4-4213-87ec-978f3e037826","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.2477965} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.014061,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c3986c40-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1","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","method":"POST","requestID":"c3986c40-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c3986c40-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1 200 7ms","method":"GET","requestID":"c3986c40-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"f15e5cd4bca0c17d8ceca7d84d494a99","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"f15e5cd4bca0c17d8ceca7d84d494a99"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c39cd910-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5f3bc8c-39ae-4e03-95e8-ccea56c1786e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d08457d4-be93-4a9b-85e5-dc2883928c23","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.2771423} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.243957,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c39cd910-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c39cd910-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c39cd910-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e/signaling 200 8ms","method":"POST","requestID":"c39cd910-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c39e5fb0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F029b6ae8-86c7-4553-8df6-c1bd6a24a96d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae655ff7-1228-4cf6-8d0f-9c24006fc39f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.2872593} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.094676,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c39e5fb0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c39e5fb0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c39e5fb0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d/signaling 200 7ms","method":"POST","requestID":"c39e5fb0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3MH0.AL5bum27ICPz6ACuHbaR1uciRZLJ0gZjsXOsI8EwZKg","level":"info","message":"auth send jwt","requestID":"668f559e3d3142be38517b541315cd8a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"668f559e3d3142be38517b541315cd8a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/090542ca-212b-44ba-a199-bb7835f4e67c","requestID":"668f559e3d3142be38517b541315cd8a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.718225,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"668f559e3d3142be38517b541315cd8a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216170,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3MH0.AL5bum27ICPz6ACuHbaR1uciRZLJ0gZjsXOsI8EwZKg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"668f559e3d3142be38517b541315cd8a","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/090542ca-212b-44ba-a199-bb7835f4e67c","requestID":"668f559e3d3142be38517b541315cd8a"} experiment-1 | {"level":"info","message":"GET /experiments/090542ca-212b-44ba-a199-bb7835f4e67c 200 9ms","method":"GET","requestID":"668f559e3d3142be38517b541315cd8a","responseTime":9,"status":200,"url":"/experiments/090542ca-212b-44ba-a199-bb7835f4e67c"} gateway-1 | {"time_local":"17/Jul/2024:11:36:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/090542ca-212b-44ba-a199-bb7835f4e67c HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"668f559e3d3142be38517b541315cd8a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3MH0.AL5bum27ICPz6ACuHbaR1uciRZLJ0gZjsXOsI8EwZKg","level":"info","message":"auth send jwt","requestID":"08aa7a318c1ff0e291b6542be7f25dd3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"08aa7a318c1ff0e291b6542be7f25dd3","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/090542ca-212b-44ba-a199-bb7835f4e67c","requestID":"08aa7a318c1ff0e291b6542be7f25dd3"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.011746,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"08aa7a318c1ff0e291b6542be7f25dd3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216170,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3MH0.AL5bum27ICPz6ACuHbaR1uciRZLJ0gZjsXOsI8EwZKg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"08aa7a318c1ff0e291b6542be7f25dd3","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c"},"level":"info","message":"Attempting to finish experiment","requestID":"08aa7a318c1ff0e291b6542be7f25dd3"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c3a871d0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.147161,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c3a871d0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216170,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3MH0.AL5bum27ICPz6ACuHbaR1uciRZLJ0gZjsXOsI8EwZKg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c3a871d0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1","device":"b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1","device":"029b6ae8-86c7-4553-8df6-c1bd6a24a96d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7643b93c-aa57-4641-b4f6-bba1025dc9c1","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7643b93c-aa57-4641-b4f6-bba1025dc9c1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7643b93c-aa57-4641-b4f6-bba1025dc9c1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"33575852-bffc-4a76-a446-089caacebd90","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.3694646} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d96158ed-d14a-4242-a14b-07a4e234a146","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.3696687} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9d8ceb53f16a87393d8ff2e4a33b2af2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9d8ceb53f16a87393d8ff2e4a33b2af2","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"c3a871d0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"21ffdb2b3718a3d26e866666afac1e33","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e"},{"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/029b6ae8-86c7-4553-8df6-c1bd6a24a96d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1"}}},"level":"info","message":"received a callback","requestID":"9d8ceb53f16a87393d8ff2e4a33b2af2"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"21ffdb2b3718a3d26e866666afac1e33","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e"},{"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/029b6ae8-86c7-4553-8df6-c1bd6a24a96d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1"}}},"level":"info","message":"received a callback","requestID":"21ffdb2b3718a3d26e866666afac1e33"} device-1 | {"data":{"peerconnection":"7643b93c-aa57-4641-b4f6-bba1025dc9c1","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c3a871d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1 204 44ms","method":"DELETE","requestID":"c3a871d0-4430-11ef-b47c-55a12d3fdb12","responseTime":44,"status":204,"url":"/peerconnections/7643b93c-aa57-4641-b4f6-bba1025dc9c1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/090542ca-212b-44ba-a199-bb7835f4e67c"},"level":"info","message":"Successfully finished experiment","requestID":"08aa7a318c1ff0e291b6542be7f25dd3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c3b2ab00-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5f3bc8c-39ae-4e03-95e8-ccea56c1786e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eba08cf7-be74-4d5f-809f-ddbcc55da8ec","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.4205244} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.477095,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c3b2ab00-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c3b2ab00-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c3b2ab00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e/signaling 200 9ms","method":"POST","requestID":"c3b2ab00-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c3b458b0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F090542ca-212b-44ba-a199-bb7835f4e67c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F090542ca-212b-44ba-a199-bb7835f4e67c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"5380df7b-d4e4-40e7-a0a5-cabf38f15e82","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.4292865} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5e940b76-f168-4ad0-960f-66a21fcad218","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.4295418} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"08aa7a318c1ff0e291b6542be7f25dd3","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F029b6ae8-86c7-4553-8df6-c1bd6a24a96d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f94017d8-a6e8-48e5-83f7-fbe0e8b12979","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.432891} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.362544,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c3b458b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c3b458b0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c3b458b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d/signaling 200 11ms","method":"POST","requestID":"c3b458b0-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/090542ca-212b-44ba-a199-bb7835f4e67c","requestID":"08aa7a318c1ff0e291b6542be7f25dd3"} gateway-1 | {"time_local":"17/Jul/2024:11:36:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/090542ca-212b-44ba-a199-bb7835f4e67c 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":"08aa7a318c1ff0e291b6542be7f25dd3"} experiment-1 | {"level":"info","message":"DELETE /experiments/090542ca-212b-44ba-a199-bb7835f4e67c 204 164ms","method":"DELETE","requestID":"08aa7a318c1ff0e291b6542be7f25dd3","responseTime":164,"status":204,"url":"/experiments/090542ca-212b-44ba-a199-bb7835f4e67c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 134ms","method":"POST","requestID":"9d8ceb53f16a87393d8ff2e4a33b2af2","responseTime":134,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.137","http_referrer":"","http_user_agent":"node-fetch","requestID":"9d8ceb53f16a87393d8ff2e4a33b2af2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"21ffdb2b3718a3d26e866666afac1e33","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"21ffdb2b3718a3d26e866666afac1e33"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3MH0.AL5bum27ICPz6ACuHbaR1uciRZLJ0gZjsXOsI8EwZKg","level":"info","message":"auth send jwt","requestID":"ad560d7903890f05cc9eea71838be754"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ad560d7903890f05cc9eea71838be754","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ad560d7903890f05cc9eea71838be754"} gateway-1 | {"time_local":"17/Jul/2024:11:36:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2849","request_time":"0.668","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"509323a44f03b1639ca2dd15c8579dbf"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.865991,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ad560d7903890f05cc9eea71838be754","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216170,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3MH0.AL5bum27ICPz6ACuHbaR1uciRZLJ0gZjsXOsI8EwZKg"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"ad560d7903890f05cc9eea71838be754","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"17/Jul/2024:11:36:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2845","request_time":"0.674","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d350fed6d920de0718dbf3a02a3dbdc0"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/029b6ae8-86c7-4553-8df6-c1bd6a24a96d' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b5f3bc8c-39ae-4e03-95e8-ccea56c1786e' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaa08150-7311-46ad-a47b-7465899a9126","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"68ef72c9-58ff-4c4f-9973-5579f4427399","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.532234} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ad560d7903890f05cc9eea71838be754","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dcad2f1a-9270-484a-a0cc-9c55505eaa12","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.5362036} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"ad560d7903890f05cc9eea71838be754","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaa08150-7311-46ad-a47b-7465899a9126","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"ce69e7b5-1f3b-45f4-9e5c-aeb4bae13d39","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.546182} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"efc61eff-81de-47de-862f-e6a4aaf0fa64","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.5463617} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"ad560d7903890f05cc9eea71838be754","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaa08150-7311-46ad-a47b-7465899a9126","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaa08150-7311-46ad-a47b-7465899a9126","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:10.546158123Z"}]},"request_id":"8c54b506-80bd-41fd-a6ee-04909a7017a1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.5497835} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ad560d7903890f05cc9eea71838be754","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ad560d7903890f05cc9eea71838be754"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad560d7903890f05cc9eea71838be754"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"ad560d7903890f05cc9eea71838be754","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3MH0.AL5bum27ICPz6ACuHbaR1uciRZLJ0gZjsXOsI8EwZKg","level":"info","message":"auth send jwt","requestID":"f238e01a376951544a9acbc0215c704c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f238e01a376951544a9acbc0215c704c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f238e01a376951544a9acbc0215c704c"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.339837,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"f238e01a376951544a9acbc0215c704c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216170,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3MH0.AL5bum27ICPz6ACuHbaR1uciRZLJ0gZjsXOsI8EwZKg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f238e01a376951544a9acbc0215c704c","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051effcc-d9d7-47ad-8102-4a43f86f0b4f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"91281c79-71e0-41f9-9388-57ea9f175b1f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.5731287} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f238e01a376951544a9acbc0215c704c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1fb23a9-ef31-4ce7-ada4-c377c9341a04","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.5773838} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f238e01a376951544a9acbc0215c704c","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051effcc-d9d7-47ad-8102-4a43f86f0b4f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"a6fbbe9c-e30d-488d-b116-228ab783c62f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.5887692} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c081900d-9818-4755-9a26-828ea27b1f0d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.5891256} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"f238e01a376951544a9acbc0215c704c","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051effcc-d9d7-47ad-8102-4a43f86f0b4f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051effcc-d9d7-47ad-8102-4a43f86f0b4f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:10.588726160Z"}]},"request_id":"7f73b616-5977-4537-a700-1bdcde9fcc1f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216170.5938723} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f238e01a376951544a9acbc0215c704c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f238e01a376951544a9acbc0215c704c"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f238e01a376951544a9acbc0215c704c"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"f238e01a376951544a9acbc0215c704c","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ed9b00b1918b09be3190329b5cc23d76","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ed9b00b1918b09be3190329b5cc23d76","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/daa08150-7311-46ad-a47b-7465899a9126/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":"ed9b00b1918b09be3190329b5cc23d76"} device-1 | {"level":"info","message":"OPTIONS /devices/daa08150-7311-46ad-a47b-7465899a9126/websocket 200 1ms","method":"OPTIONS","requestID":"ed9b00b1918b09be3190329b5cc23d76","responseTime":1,"status":200,"url":"/devices/daa08150-7311-46ad-a47b-7465899a9126/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3Mn0.FIF_8ooLlCUMyC-xX3IdELiBhuA-s3Agt_Wl-z4EqO8","level":"info","message":"auth send jwt","requestID":"635fd74d00dda3cced9dd86226e9883b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"635fd74d00dda3cced9dd86226e9883b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"635fd74d00dda3cced9dd86226e9883b"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.280805,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"635fd74d00dda3cced9dd86226e9883b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216172,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3Mn0.FIF_8ooLlCUMyC-xX3IdELiBhuA-s3Agt_Wl-z4EqO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"635fd74d00dda3cced9dd86226e9883b","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"354b21728fcbfd8f6e7202b0dce5d71c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"354b21728fcbfd8f6e7202b0dce5d71c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f/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":"354b21728fcbfd8f6e7202b0dce5d71c"} device-1 | {"level":"info","message":"OPTIONS /devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f/websocket 200 1ms","method":"OPTIONS","requestID":"354b21728fcbfd8f6e7202b0dce5d71c","responseTime":1,"status":200,"url":"/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"635fd74d00dda3cced9dd86226e9883b"} gateway-1 | {"time_local":"17/Jul/2024:11:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/daa08150-7311-46ad-a47b-7465899a9126/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":"635fd74d00dda3cced9dd86226e9883b"} device-1 | {"level":"info","message":"POST /devices/daa08150-7311-46ad-a47b-7465899a9126/websocket 200 22ms","method":"POST","requestID":"635fd74d00dda3cced9dd86226e9883b","responseTime":22,"status":200,"url":"/devices/daa08150-7311-46ad-a47b-7465899a9126/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3Mn0.FIF_8ooLlCUMyC-xX3IdELiBhuA-s3Agt_Wl-z4EqO8","level":"info","message":"auth send jwt","requestID":"04dd48e18e6a76d5c3e9e0be61851475"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"04dd48e18e6a76d5c3e9e0be61851475","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"04dd48e18e6a76d5c3e9e0be61851475"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.200445,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"04dd48e18e6a76d5c3e9e0be61851475","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216172,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3Mn0.FIF_8ooLlCUMyC-xX3IdELiBhuA-s3Agt_Wl-z4EqO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"04dd48e18e6a76d5c3e9e0be61851475","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"04dd48e18e6a76d5c3e9e0be61851475"} gateway-1 | {"time_local":"17/Jul/2024:11:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"04dd48e18e6a76d5c3e9e0be61851475"} device-1 | {"level":"info","message":"POST /devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f/websocket 200 15ms","method":"POST","requestID":"04dd48e18e6a76d5c3e9e0be61851475","responseTime":15,"status":200,"url":"/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3Mn0.FIF_8ooLlCUMyC-xX3IdELiBhuA-s3Agt_Wl-z4EqO8","level":"info","message":"auth send jwt","requestID":"52535d7e2205d887293d44b424d472f2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"52535d7e2205d887293d44b424d472f2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"52535d7e2205d887293d44b424d472f2"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.271193,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"52535d7e2205d887293d44b424d472f2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216172,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3Mn0.FIF_8ooLlCUMyC-xX3IdELiBhuA-s3Agt_Wl-z4EqO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"52535d7e2205d887293d44b424d472f2","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaa08150-7311-46ad-a47b-7465899a9126","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaa08150-7311-46ad-a47b-7465899a9126","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:10.546158123Z"}]},"request_id":"cf5bde56-1bba-4c8f-b020-1a4baa3202fb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216172.604983} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"52535d7e2205d887293d44b424d472f2","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"52535d7e2205d887293d44b424d472f2"} gateway-1 | {"time_local":"17/Jul/2024:11:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/daa08150-7311-46ad-a47b-7465899a9126? 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":"52535d7e2205d887293d44b424d472f2"} device-1 | {"level":"info","message":"GET /devices/daa08150-7311-46ad-a47b-7465899a9126? 200 18ms","method":"GET","requestID":"52535d7e2205d887293d44b424d472f2","responseTime":18,"status":200,"url":"/devices/daa08150-7311-46ad-a47b-7465899a9126?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3Mn0.FIF_8ooLlCUMyC-xX3IdELiBhuA-s3Agt_Wl-z4EqO8","level":"info","message":"auth send jwt","requestID":"ad9aca5bf3153bbbdb6a33e930227ab3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ad9aca5bf3153bbbdb6a33e930227ab3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ad9aca5bf3153bbbdb6a33e930227ab3"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.747311,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ad9aca5bf3153bbbdb6a33e930227ab3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216172,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3Mn0.FIF_8ooLlCUMyC-xX3IdELiBhuA-s3Agt_Wl-z4EqO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ad9aca5bf3153bbbdb6a33e930227ab3","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051effcc-d9d7-47ad-8102-4a43f86f0b4f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051effcc-d9d7-47ad-8102-4a43f86f0b4f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:10.588726160Z"}]},"request_id":"03e2f09f-cbe2-4670-ba5d-e68de51ecabd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216172.6302035} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ad9aca5bf3153bbbdb6a33e930227ab3","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ad9aca5bf3153bbbdb6a33e930227ab3"} gateway-1 | {"time_local":"17/Jul/2024:11:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f? 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":"ad9aca5bf3153bbbdb6a33e930227ab3"} device-1 | {"level":"info","message":"GET /devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f? 200 18ms","method":"GET","requestID":"ad9aca5bf3153bbbdb6a33e930227ab3","responseTime":18,"status":200,"url":"/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3Mn0.FIF_8ooLlCUMyC-xX3IdELiBhuA-s3Agt_Wl-z4EqO8","level":"info","message":"auth send jwt","requestID":"4288e338698b887e8dc59953085850e5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4288e338698b887e8dc59953085850e5","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"4288e338698b887e8dc59953085850e5"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.223566,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"4288e338698b887e8dc59953085850e5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216172,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3Mn0.FIF_8ooLlCUMyC-xX3IdELiBhuA-s3Agt_Wl-z4EqO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4288e338698b887e8dc59953085850e5","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681"},"level":"info","message":"Attempting to run experiment","requestID":"4288e338698b887e8dc59953085850e5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681"},"level":"info","message":"Attempting to book experiment","requestID":"4288e338698b887e8dc59953085850e5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681"},"level":"info","message":"Successfully booked experiment","requestID":"4288e338698b887e8dc59953085850e5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c50da720-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c50df540-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.884849,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c50da720-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216172,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3Mn0.FIF_8ooLlCUMyC-xX3IdELiBhuA-s3Agt_Wl-z4EqO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c50da720-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.738167,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c50df540-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216172,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3Mn0.FIF_8ooLlCUMyC-xX3IdELiBhuA-s3Agt_Wl-z4EqO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c50df540-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaa08150-7311-46ad-a47b-7465899a9126","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaa08150-7311-46ad-a47b-7465899a9126","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:10.546158123Z"}]},"request_id":"523e57a1-5337-40af-91b6-58afafa2efa7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216172.6989486} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c50da720-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051effcc-d9d7-47ad-8102-4a43f86f0b4f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051effcc-d9d7-47ad-8102-4a43f86f0b4f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:10.588726160Z"}]},"request_id":"c6e8496c-324e-4ef4-99cb-a2f6cc6be414","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216172.6996603} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"c50df540-4430-11ef-b47c-55a12d3fdb12","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c50da720-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/daa08150-7311-46ad-a47b-7465899a9126? 200 15ms","method":"GET","requestID":"c50da720-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/daa08150-7311-46ad-a47b-7465899a9126?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c50df540-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f? 200 14ms","method":"GET","requestID":"c50df540-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681"},"level":"info","message":"Setting up experiment","requestID":"4288e338698b887e8dc59953085850e5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"4288e338698b887e8dc59953085850e5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681"},"level":"info","message":"Successfully locked booking for experiment","requestID":"4288e338698b887e8dc59953085850e5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"4288e338698b887e8dc59953085850e5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"4288e338698b887e8dc59953085850e5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681"},"level":"info","message":"Attempting to update booking for experiment","requestID":"4288e338698b887e8dc59953085850e5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681"},"level":"info","message":"Successfully updated booking for experiment","requestID":"4288e338698b887e8dc59953085850e5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681"},"level":"info","message":"Successfully set up experiment","requestID":"4288e338698b887e8dc59953085850e5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c5180760-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c5187c90-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c518a3a0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.648862,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:12Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681"},"level":"info","message":"Successfully running experiment","requestID":"4288e338698b887e8dc59953085850e5"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c5180760-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216172,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3Mn0.FIF_8ooLlCUMyC-xX3IdELiBhuA-s3Agt_Wl-z4EqO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c5180760-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.616749,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c5187c90-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216172,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3Mn0.FIF_8ooLlCUMyC-xX3IdELiBhuA-s3Agt_Wl-z4EqO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c5187c90-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.060173,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaa08150-7311-46ad-a47b-7465899a9126","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d226e99-1cd6-4fac-89f5-b3b15c8accde","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216172.7685776} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaa08150-7311-46ad-a47b-7465899a9126","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaa08150-7311-46ad-a47b-7465899a9126","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:10.546158123Z"}]},"request_id":"f362f7cc-e2aa-49c6-b260-1592b60625be","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216172.7701106} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c518a3a0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c518a3a0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c5180760-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051effcc-d9d7-47ad-8102-4a43f86f0b4f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051effcc-d9d7-47ad-8102-4a43f86f0b4f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:10.588726160Z"}]},"request_id":"058adb87-d8eb-480f-8578-66d3295e5bdf","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216172.771124} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c5187c90-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c518a3a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/daa08150-7311-46ad-a47b-7465899a9126/signaling 200 17ms","method":"POST","requestID":"c518a3a0-4430-11ef-b47c-55a12d3fdb12","responseTime":17,"status":200,"url":"/devices/daa08150-7311-46ad-a47b-7465899a9126/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c5180760-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/daa08150-7311-46ad-a47b-7465899a9126? 200 21ms","method":"GET","requestID":"c5180760-4430-11ef-b47c-55a12d3fdb12","responseTime":21,"status":200,"url":"/devices/daa08150-7311-46ad-a47b-7465899a9126?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c5187c90-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f? 200 19ms","method":"GET","requestID":"c5187c90-4430-11ef-b47c-55a12d3fdb12","responseTime":19,"status":200,"url":"/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c51b89d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c51bff00-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F94c73847-354e-4cc5-a659-8aadcdb73681#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F94c73847-354e-4cc5-a659-8aadcdb73681","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"77c4dc45-b9e1-4235-a3de-bd4e51068525","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216172.7867172} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8f1614cb-4916-45fb-a337-6b015b991795","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216172.786954} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051effcc-d9d7-47ad-8102-4a43f86f0b4f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e2658c0-6822-4fa3-87d4-e6d68b64893e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216172.7871225} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"4288e338698b887e8dc59953085850e5","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.817398,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaa08150-7311-46ad-a47b-7465899a9126","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8d3927b0-81a0-4635-b830-22a8bc657ca7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216172.78927} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c51b89d0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c51b89d0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.18393,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c51bff00-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c51bff00-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c51b89d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f/signaling 200 14ms","method":"POST","requestID":"c51b89d0-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"4288e338698b887e8dc59953085850e5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c51bff00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/daa08150-7311-46ad-a47b-7465899a9126/signaling 200 12ms","method":"POST","requestID":"c51bff00-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/daa08150-7311-46ad-a47b-7465899a9126/signaling"} gateway-1 | {"time_local":"17/Jul/2024:11:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.158","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4288e338698b887e8dc59953085850e5"} experiment-1 | {"level":"info","message":"POST /experiments? 201 151ms","method":"POST","requestID":"4288e338698b887e8dc59953085850e5","responseTime":151,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c51e7000-4430-11ef-b47c-55a12d3fdb12"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3Mn0.FIF_8ooLlCUMyC-xX3IdELiBhuA-s3Agt_Wl-z4EqO8","level":"info","message":"auth send jwt","requestID":"12489f610da6f15e1cb799743ad922ac"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"12489f610da6f15e1cb799743ad922ac","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"12489f610da6f15e1cb799743ad922ac"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051effcc-d9d7-47ad-8102-4a43f86f0b4f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b56022d0-89f6-44c2-9ee3-56265e324255","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216172.8053977} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700244,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.437467,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"12489f610da6f15e1cb799743ad922ac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216172,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3Mn0.FIF_8ooLlCUMyC-xX3IdELiBhuA-s3Agt_Wl-z4EqO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"12489f610da6f15e1cb799743ad922ac","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c51e7000-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c51e7000-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaa08150-7311-46ad-a47b-7465899a9126","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaa08150-7311-46ad-a47b-7465899a9126","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:10.546158123Z"}]},"request_id":"a9dbb6fb-8bd9-41c9-9227-7e112a9a54af","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216172.8097231} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c51e7000-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f/signaling 200 10ms","method":"POST","requestID":"c51e7000-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"12489f610da6f15e1cb799743ad922ac","responseTime":2,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"4288e338698b887e8dc59953085850e5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681"},"level":"info","message":"Building connection plan","requestID":"4288e338698b887e8dc59953085850e5"} 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":"9d86bfc1-e9a0-4a8c-8f4b-21571845d440"},{"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":"e8097b27-2aff-486d-84f3-740196f3229e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"17c20d38-5d37-41b7-8fd1-2488406bd332"}]},"level":"info","message":"Built pairwise service configurations","requestID":"4288e338698b887e8dc59953085850e5"} 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/daa08150-7311-46ad-a47b-7465899a9126"},{"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/051effcc-d9d7-47ad-8102-4a43f86f0b4f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"4288e338698b887e8dc59953085850e5"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c5206bd0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"12489f610da6f15e1cb799743ad922ac"} gateway-1 | {"time_local":"17/Jul/2024:11:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/daa08150-7311-46ad-a47b-7465899a9126? 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":"12489f610da6f15e1cb799743ad922ac"} device-1 | {"level":"info","message":"GET /devices/daa08150-7311-46ad-a47b-7465899a9126? 200 13ms","method":"GET","requestID":"12489f610da6f15e1cb799743ad922ac","responseTime":13,"status":200,"url":"/devices/daa08150-7311-46ad-a47b-7465899a9126?"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.735726,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c5206bd0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216172,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3Mn0.FIF_8ooLlCUMyC-xX3IdELiBhuA-s3Agt_Wl-z4EqO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c5206bd0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3Mn0.FIF_8ooLlCUMyC-xX3IdELiBhuA-s3Agt_Wl-z4EqO8","level":"info","message":"auth send jwt","requestID":"f753782a1791f51696936324b1356f3c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f753782a1791f51696936324b1356f3c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f753782a1791f51696936324b1356f3c"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.754539,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"f753782a1791f51696936324b1356f3c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216172,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3Mn0.FIF_8ooLlCUMyC-xX3IdELiBhuA-s3Agt_Wl-z4EqO8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f753782a1791f51696936324b1356f3c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"ef971629-597b-42a9-8853-4fef222a05ed","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216172.828738} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c3bed849-d8bd-47d2-af32-40b99c76b6ca","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216172.8291779} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051effcc-d9d7-47ad-8102-4a43f86f0b4f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051effcc-d9d7-47ad-8102-4a43f86f0b4f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:10.588726160Z"}]},"request_id":"2b4a8863-29da-43c1-a56c-ca7c469814f8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216172.8297367} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"c5206bd0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f753782a1791f51696936324b1356f3c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f753782a1791f51696936324b1356f3c"} gateway-1 | {"time_local":"17/Jul/2024:11:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f? 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":"f753782a1791f51696936324b1356f3c"} device-1 | {"level":"info","message":"GET /devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f? 200 13ms","method":"GET","requestID":"f753782a1791f51696936324b1356f3c","responseTime":13,"status":200,"url":"/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c5206bd0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c5206bd0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032'","requestID":"c5206bd0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032'","requestID":"c5206bd0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c5206bd0-4430-11ef-b47c-55a12d3fdb12"} 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":"c5206bd0-4430-11ef-b47c-55a12d3fdb12","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","requestID":"c5206bd0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032","device":"051effcc-d9d7-47ad-8102-4a43f86f0b4f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","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"}],"tiebreaker":true} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032","device":"daa08150-7311-46ad-a47b-7465899a9126","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","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"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"4288e338698b887e8dc59953085850e5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c528f750-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaa08150-7311-46ad-a47b-7465899a9126","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bab7556c-dcca-4042-830c-b3e77ce9d57d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216172.87393} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.351144,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c528f750-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c528f750-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c528f750-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/daa08150-7311-46ad-a47b-7465899a9126/signaling 200 8ms","method":"POST","requestID":"c528f750-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/devices/daa08150-7311-46ad-a47b-7465899a9126/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c52a7df0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051effcc-d9d7-47ad-8102-4a43f86f0b4f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa5a6d9d-a66a-4092-888e-582eb57d3e30","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216172.8831933} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.116156,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c52a7df0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c52a7df0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c52a7df0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f/signaling 200 8ms","method":"POST","requestID":"c52a7df0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f/signaling"} device-1 | {"device":"051effcc-d9d7-47ad-8102-4a43f86f0b4f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"051effcc-d9d7-47ad-8102-4a43f86f0b4f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"daa08150-7311-46ad-a47b-7465899a9126","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"daa08150-7311-46ad-a47b-7465899a9126","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 1143295837312340255 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:HSsT\r\na=ice-pwd:0axXpCbSPbpkv5tXBgTWb3QW\r\na=ice-options:trickle\r\na=fingerprint:sha-256 15:07:F5:41:1E:23:4D:CA:1A:3C:C3:0A:6E:BC:E3:A5:CA:12:12:C8:28:14:44:23:96:1C:FD:A5:14:17:EA:10\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"051effcc-d9d7-47ad-8102-4a43f86f0b4f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 6926354928033985139 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:1jmX\r\na=ice-pwd:gXZYBN4Ic2R/8MEfkUh5PdHI\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9F:6E:DF:BC:86:73:48:A7:BA:53:98:C4:E5:87:D8:41:29:6C:9C:A5:9C:2C:9A:21:5D:14:73:64:FB:E6:DD:D1\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"daa08150-7311-46ad-a47b-7465899a9126","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1282892619 1 udp 2113937151 f7e067cd-fbb7-40e5-9765-8263be862c84.local 58816 typ host generation 0 ufrag 1jmX network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"daa08150-7311-46ad-a47b-7465899a9126","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3361343796 1 udp 1677729535 141.24.211.56 58816 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag 1jmX network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"daa08150-7311-46ad-a47b-7465899a9126","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126'"} device-1 | {"content":{"candidate":"candidate:3818687403 1 udp 2113937151 8837d82b-06df-47dc-a05b-af5f5b32d82b.local 43331 typ host generation 0 ufrag HSsT network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"051effcc-d9d7-47ad-8102-4a43f86f0b4f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1739710932 1 udp 1677729535 141.24.211.56 43331 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag HSsT network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"051effcc-d9d7-47ad-8102-4a43f86f0b4f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f'"} device-1 | {"device":"051effcc-d9d7-47ad-8102-4a43f86f0b4f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"daa08150-7311-46ad-a47b-7465899a9126","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"46c372d3-6702-48a3-be16-8cfd4dd49032","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"051effcc-d9d7-47ad-8102-4a43f86f0b4f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"daa08150-7311-46ad-a47b-7465899a9126","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"78bb6d156c6d701e70f5ffad897e916e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"78bb6d156c6d701e70f5ffad897e916e","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/daa08150-7311-46ad-a47b-7465899a9126"},{"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/051effcc-d9d7-47ad-8102-4a43f86f0b4f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032"}}},"level":"info","message":"received a callback","requestID":"78bb6d156c6d701e70f5ffad897e916e"} device-1 | {"device":"051effcc-d9d7-47ad-8102-4a43f86f0b4f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"daa08150-7311-46ad-a47b-7465899a9126","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"78bb6d156c6d701e70f5ffad897e916e","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"78bb6d156c6d701e70f5ffad897e916e"} device-1 | {"device":"daa08150-7311-46ad-a47b-7465899a9126","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"46c372d3-6702-48a3-be16-8cfd4dd49032","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"46c372d3-6702-48a3-be16-8cfd4dd49032","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/46c372d3-6702-48a3-be16-8cfd4dd49032' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"46c372d3-6702-48a3-be16-8cfd4dd49032","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2e78337ab1cf61b40518a818fe19c94f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2e78337ab1cf61b40518a818fe19c94f","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/daa08150-7311-46ad-a47b-7465899a9126"},{"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/051effcc-d9d7-47ad-8102-4a43f86f0b4f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032"}}},"level":"info","message":"received a callback","requestID":"2e78337ab1cf61b40518a818fe19c94f"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c539e740-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F46c372d3-6702-48a3-be16-8cfd4dd49032","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"10d23a81-9240-4199-9121-cc360573b8bc","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216172.9846659} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.308055,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c539e740-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032","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","method":"POST","requestID":"c539e740-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c539e740-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032 200 8ms","method":"GET","requestID":"c539e740-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"2e78337ab1cf61b40518a818fe19c94f","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"2e78337ab1cf61b40518a818fe19c94f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c53e05f0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaa08150-7311-46ad-a47b-7465899a9126","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7a548d3-3d79-4a5b-81c4-83a688894103","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.01168} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.044497,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c53e05f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c53e05f0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c53e05f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/daa08150-7311-46ad-a47b-7465899a9126/signaling 200 8ms","method":"POST","requestID":"c53e05f0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/devices/daa08150-7311-46ad-a47b-7465899a9126/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c53f8c90-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051effcc-d9d7-47ad-8102-4a43f86f0b4f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"812b72e3-2c36-461c-b00e-5b0d9867240f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.021496} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.790538,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c53f8c90-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c53f8c90-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c53f8c90-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f/signaling 200 8ms","method":"POST","requestID":"c53f8c90-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3M30.WhaI7IE-2fXD7MF2hx4QDE-cjf581t7-hUNTcihsEj0","level":"info","message":"auth send jwt","requestID":"f4f54b534c1fa6ceba9ca940e9da63b5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f4f54b534c1fa6ceba9ca940e9da63b5","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/94c73847-354e-4cc5-a659-8aadcdb73681","requestID":"f4f54b534c1fa6ceba9ca940e9da63b5"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.656374,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"f4f54b534c1fa6ceba9ca940e9da63b5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216173,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3M30.WhaI7IE-2fXD7MF2hx4QDE-cjf581t7-hUNTcihsEj0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f4f54b534c1fa6ceba9ca940e9da63b5","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/94c73847-354e-4cc5-a659-8aadcdb73681","requestID":"f4f54b534c1fa6ceba9ca940e9da63b5"} gateway-1 | {"time_local":"17/Jul/2024:11:36:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/94c73847-354e-4cc5-a659-8aadcdb73681 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f4f54b534c1fa6ceba9ca940e9da63b5"} experiment-1 | {"level":"info","message":"GET /experiments/94c73847-354e-4cc5-a659-8aadcdb73681 200 12ms","method":"GET","requestID":"f4f54b534c1fa6ceba9ca940e9da63b5","responseTime":12,"status":200,"url":"/experiments/94c73847-354e-4cc5-a659-8aadcdb73681"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3M30.WhaI7IE-2fXD7MF2hx4QDE-cjf581t7-hUNTcihsEj0","level":"info","message":"auth send jwt","requestID":"4a889c86d4d38c48d0c88933dbd6680a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4a889c86d4d38c48d0c88933dbd6680a","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/94c73847-354e-4cc5-a659-8aadcdb73681","requestID":"4a889c86d4d38c48d0c88933dbd6680a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.325718,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"4a889c86d4d38c48d0c88933dbd6680a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216173,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3M30.WhaI7IE-2fXD7MF2hx4QDE-cjf581t7-hUNTcihsEj0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4a889c86d4d38c48d0c88933dbd6680a","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681"},"level":"info","message":"Attempting to finish experiment","requestID":"4a889c86d4d38c48d0c88933dbd6680a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c54c0fb0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.803325,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c54c0fb0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216173,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3M30.WhaI7IE-2fXD7MF2hx4QDE-cjf581t7-hUNTcihsEj0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c54c0fb0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032","device":"daa08150-7311-46ad-a47b-7465899a9126","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032","device":"051effcc-d9d7-47ad-8102-4a43f86f0b4f","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"46c372d3-6702-48a3-be16-8cfd4dd49032","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F46c372d3-6702-48a3-be16-8cfd4dd49032': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F46c372d3-6702-48a3-be16-8cfd4dd49032","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"b7f5d8f2-31e9-4517-8bc6-ef34cf3557e2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.122728} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"dad2731a2122911cf52a0b5de1020a30","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dad2731a2122911cf52a0b5de1020a30","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:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"41ea21a0-e9cb-4e4d-9f68-eba42c0294d6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.123425} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"c54c0fb0-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"41411b4fed20bd163e3bff3fda92b8ef","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/daa08150-7311-46ad-a47b-7465899a9126"},{"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/051effcc-d9d7-47ad-8102-4a43f86f0b4f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032"}}},"level":"info","message":"received a callback","requestID":"dad2731a2122911cf52a0b5de1020a30"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"41411b4fed20bd163e3bff3fda92b8ef","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126"},{"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/051effcc-d9d7-47ad-8102-4a43f86f0b4f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032"}}},"level":"info","message":"received a callback","requestID":"41411b4fed20bd163e3bff3fda92b8ef"} device-1 | {"data":{"peerconnection":"46c372d3-6702-48a3-be16-8cfd4dd49032","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c54c0fb0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032 204 50ms","method":"DELETE","requestID":"c54c0fb0-4430-11ef-b47c-55a12d3fdb12","responseTime":50,"status":204,"url":"/peerconnections/46c372d3-6702-48a3-be16-8cfd4dd49032"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/94c73847-354e-4cc5-a659-8aadcdb73681"},"level":"info","message":"Successfully finished experiment","requestID":"4a889c86d4d38c48d0c88933dbd6680a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c5570c30-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdaa08150-7311-46ad-a47b-7465899a9126","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f544eaf2-67c0-444b-b96d-2df6cf2e1df3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.1790206} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.827682,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c5570c30-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c5570c30-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c5570c30-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/daa08150-7311-46ad-a47b-7465899a9126/signaling 200 14ms","method":"POST","requestID":"c5570c30-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/daa08150-7311-46ad-a47b-7465899a9126/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c559a440-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F94c73847-354e-4cc5-a659-8aadcdb73681': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F94c73847-354e-4cc5-a659-8aadcdb73681","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"3ae7d955-9c76-453b-a67d-3a3261ca9532","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.1930344} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"427fd850-018e-44f4-a0fa-00c920ffbf21","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.1935568} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"4a889c86d4d38c48d0c88933dbd6680a","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F051effcc-d9d7-47ad-8102-4a43f86f0b4f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"32a16c04-41cb-483c-a189-339f14ef63a5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.1969438} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.470087,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c559a440-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c559a440-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c559a440-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f/signaling 200 16ms","method":"POST","requestID":"c559a440-4430-11ef-b47c-55a12d3fdb12","responseTime":16,"status":200,"url":"/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/94c73847-354e-4cc5-a659-8aadcdb73681","requestID":"4a889c86d4d38c48d0c88933dbd6680a"} gateway-1 | {"time_local":"17/Jul/2024:11:36:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/94c73847-354e-4cc5-a659-8aadcdb73681 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":"4a889c86d4d38c48d0c88933dbd6680a"} experiment-1 | {"level":"info","message":"DELETE /experiments/94c73847-354e-4cc5-a659-8aadcdb73681 204 178ms","method":"DELETE","requestID":"4a889c86d4d38c48d0c88933dbd6680a","responseTime":178,"status":204,"url":"/experiments/94c73847-354e-4cc5-a659-8aadcdb73681"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 137ms","method":"POST","requestID":"dad2731a2122911cf52a0b5de1020a30","responseTime":137,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"dad2731a2122911cf52a0b5de1020a30"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 136ms","method":"POST","requestID":"41411b4fed20bd163e3bff3fda92b8ef","responseTime":136,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.143","http_referrer":"","http_user_agent":"node-fetch","requestID":"41411b4fed20bd163e3bff3fda92b8ef"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3M30.WhaI7IE-2fXD7MF2hx4QDE-cjf581t7-hUNTcihsEj0","level":"info","message":"auth send jwt","requestID":"e06cf68d79087ba164926f85dd4d7af2"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"e06cf68d79087ba164926f85dd4d7af2","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e06cf68d79087ba164926f85dd4d7af2"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.931053,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"e06cf68d79087ba164926f85dd4d7af2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216173,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3M30.WhaI7IE-2fXD7MF2hx4QDE-cjf581t7-hUNTcihsEj0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e06cf68d79087ba164926f85dd4d7af2","responseTime":3,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"17/Jul/2024:11:36:13 +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":"509dd6a93fed4d4ca47188125bf84857"} gateway-1 | {"time_local":"17/Jul/2024:11:36:13 +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.703","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ca2fdd7eceb5e32b4d8d69486ffe15b5"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/051effcc-d9d7-47ad-8102-4a43f86f0b4f' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/daa08150-7311-46ad-a47b-7465899a9126' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23b64a20-9cbe-4099-912a-dccd5cfd72ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"abfd1077-9423-4171-9f6f-5ccc3e848681","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.2928448} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e06cf68d79087ba164926f85dd4d7af2","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d13b010d-5d10-43ae-a2f2-81a3e6da94c3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.2969418} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e06cf68d79087ba164926f85dd4d7af2","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23b64a20-9cbe-4099-912a-dccd5cfd72ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"d7fd271d-642e-4541-9bdd-d94a29410bd9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.3057241} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3037017f-1754-417d-be3e-2c9ad59a9d7f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.3059578} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"e06cf68d79087ba164926f85dd4d7af2","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23b64a20-9cbe-4099-912a-dccd5cfd72ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23b64a20-9cbe-4099-912a-dccd5cfd72ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:13.305696844Z"}]},"request_id":"80d16f54-c90e-4c0b-ad42-6c75b17a4138","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.3094351} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e06cf68d79087ba164926f85dd4d7af2","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e06cf68d79087ba164926f85dd4d7af2"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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":"e06cf68d79087ba164926f85dd4d7af2"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"e06cf68d79087ba164926f85dd4d7af2","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3M30.WhaI7IE-2fXD7MF2hx4QDE-cjf581t7-hUNTcihsEj0","level":"info","message":"auth send jwt","requestID":"8dacfccd3ab26c0351f4ba409f322fdd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8dacfccd3ab26c0351f4ba409f322fdd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"8dacfccd3ab26c0351f4ba409f322fdd"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.938351,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"8dacfccd3ab26c0351f4ba409f322fdd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216173,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3M30.WhaI7IE-2fXD7MF2hx4QDE-cjf581t7-hUNTcihsEj0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8dacfccd3ab26c0351f4ba409f322fdd","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bb9ebf9b-7317-44f3-9efe-e9c2f95533b3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.331555} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8dacfccd3ab26c0351f4ba409f322fdd","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"82d34235-d09f-4fe2-b552-30d8782c5ea0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.335666} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"8dacfccd3ab26c0351f4ba409f322fdd","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"4363fb31-09b4-449f-bdec-ef0ea67db232","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.3517113} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"18222691-702a-4e69-88d3-80b7f0f7a80f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.3519042} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"8dacfccd3ab26c0351f4ba409f322fdd","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:13.351682846Z"}]},"request_id":"e5ddc286-271b-4220-aabf-75844e618cf4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.3561862} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8dacfccd3ab26c0351f4ba409f322fdd","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"8dacfccd3ab26c0351f4ba409f322fdd"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"8dacfccd3ab26c0351f4ba409f322fdd","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"17/Jul/2024:11:36:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8dacfccd3ab26c0351f4ba409f322fdd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3M30.WhaI7IE-2fXD7MF2hx4QDE-cjf581t7-hUNTcihsEj0","level":"info","message":"auth send jwt","requestID":"b96fd9ba1251ca4c92858111d95e6563"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b96fd9ba1251ca4c92858111d95e6563","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"b96fd9ba1251ca4c92858111d95e6563"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.287238,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b96fd9ba1251ca4c92858111d95e6563","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216173,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3M30.WhaI7IE-2fXD7MF2hx4QDE-cjf581t7-hUNTcihsEj0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b96fd9ba1251ca4c92858111d95e6563","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:13.351682846Z"}]},"request_id":"d65f05bb-4e4a-4153-a257-63890b87e307","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.8554752} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b96fd9ba1251ca4c92858111d95e6563","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e07383d2-667c-4c4c-8c0f-463c1da63f34","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.862305} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"b96fd9ba1251ca4c92858111d95e6563","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:13.351682846Z"}]},"request_id":"e99e70ae-cb3b-4c94-b8f9-ec3aaae3c969","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216173.8749611} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b96fd9ba1251ca4c92858111d95e6563","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"b96fd9ba1251ca4c92858111d95e6563"} device-1 | {"level":"info","message":"PATCH /devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336 200 37ms","method":"PATCH","requestID":"b96fd9ba1251ca4c92858111d95e6563","responseTime":37,"status":200,"url":"/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336"} gateway-1 | {"time_local":"17/Jul/2024:11:36:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336 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":"b96fd9ba1251ca4c92858111d95e6563"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3M30.WhaI7IE-2fXD7MF2hx4QDE-cjf581t7-hUNTcihsEj0","level":"info","message":"auth send jwt","requestID":"0218ad978d4c10643339feb1430089b5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0218ad978d4c10643339feb1430089b5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0218ad978d4c10643339feb1430089b5"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.260093,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"0218ad978d4c10643339feb1430089b5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216173,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3M30.WhaI7IE-2fXD7MF2hx4QDE-cjf581t7-hUNTcihsEj0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"0218ad978d4c10643339feb1430089b5","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0218ad978d4c10643339feb1430089b5"} device-1 | {"level":"info","message":"POST /devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336/websocket 200 21ms","method":"POST","requestID":"0218ad978d4c10643339feb1430089b5","responseTime":21,"status":200,"url":"/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:36:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336/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":"0218ad978d4c10643339feb1430089b5"} device-1 | {"level":"info","message":"device 'http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8a22840649f16a49d3725d4ba114f723","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8a22840649f16a49d3725d4ba114f723","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:36:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef/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":"8a22840649f16a49d3725d4ba114f723"} device-1 | {"level":"info","message":"OPTIONS /devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef/websocket 200 1ms","method":"OPTIONS","requestID":"8a22840649f16a49d3725d4ba114f723","responseTime":1,"status":200,"url":"/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3NX0.JcekZU1-fTppp5VwUFoVJW6ztR50-Kqx7yQLFfGNppc","level":"info","message":"auth send jwt","requestID":"b948d513cf1a4a361accff95d16a5896"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b948d513cf1a4a361accff95d16a5896","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b948d513cf1a4a361accff95d16a5896"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.297297,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b948d513cf1a4a361accff95d16a5896","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216175,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3NX0.JcekZU1-fTppp5VwUFoVJW6ztR50-Kqx7yQLFfGNppc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b948d513cf1a4a361accff95d16a5896","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b948d513cf1a4a361accff95d16a5896"} device-1 | {"level":"info","message":"POST /devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef/websocket 200 21ms","method":"POST","requestID":"b948d513cf1a4a361accff95d16a5896","responseTime":21,"status":200,"url":"/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:36:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef/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":"b948d513cf1a4a361accff95d16a5896"} device-1 | {"level":"info","message":"device 'http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3NX0.JcekZU1-fTppp5VwUFoVJW6ztR50-Kqx7yQLFfGNppc","level":"info","message":"auth send jwt","requestID":"4cde3e786359af417e7b49015dca517c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4cde3e786359af417e7b49015dca517c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4cde3e786359af417e7b49015dca517c"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.238359,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"4cde3e786359af417e7b49015dca517c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216175,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3NX0.JcekZU1-fTppp5VwUFoVJW6ztR50-Kqx7yQLFfGNppc"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"4cde3e786359af417e7b49015dca517c","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23b64a20-9cbe-4099-912a-dccd5cfd72ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23b64a20-9cbe-4099-912a-dccd5cfd72ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:13.305696844Z"}]},"request_id":"46f3d4ad-9d3b-411f-8129-fe8491ce8bdb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216175.4067457} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4cde3e786359af417e7b49015dca517c","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4cde3e786359af417e7b49015dca517c"} gateway-1 | {"time_local":"17/Jul/2024:11:36:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef? 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":"4cde3e786359af417e7b49015dca517c"} device-1 | {"level":"info","message":"GET /devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef? 200 19ms","method":"GET","requestID":"4cde3e786359af417e7b49015dca517c","responseTime":19,"status":200,"url":"/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3NX0.JcekZU1-fTppp5VwUFoVJW6ztR50-Kqx7yQLFfGNppc","level":"info","message":"auth send jwt","requestID":"975f3937b79faceb99099dbcb76e76b5"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"975f3937b79faceb99099dbcb76e76b5","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"975f3937b79faceb99099dbcb76e76b5"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.558839,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"975f3937b79faceb99099dbcb76e76b5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216175,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3NX0.JcekZU1-fTppp5VwUFoVJW6ztR50-Kqx7yQLFfGNppc"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"975f3937b79faceb99099dbcb76e76b5","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:13.351682846Z"}]},"request_id":"8a92404a-acaa-4507-a105-4f02f3b697fe","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216175.4350739} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"975f3937b79faceb99099dbcb76e76b5","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"975f3937b79faceb99099dbcb76e76b5"} gateway-1 | {"time_local":"17/Jul/2024:11:36:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336? 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":"975f3937b79faceb99099dbcb76e76b5"} device-1 | {"level":"info","message":"GET /devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336? 200 19ms","method":"GET","requestID":"975f3937b79faceb99099dbcb76e76b5","responseTime":19,"status":200,"url":"/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3NX0.JcekZU1-fTppp5VwUFoVJW6ztR50-Kqx7yQLFfGNppc","level":"info","message":"auth send jwt","requestID":"979084f90fa735482379ac62d8c4b9f5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"979084f90fa735482379ac62d8c4b9f5","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"979084f90fa735482379ac62d8c4b9f5"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.237332,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"979084f90fa735482379ac62d8c4b9f5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216175,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3NX0.JcekZU1-fTppp5VwUFoVJW6ztR50-Kqx7yQLFfGNppc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"979084f90fa735482379ac62d8c4b9f5","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9"},"level":"info","message":"Attempting to run experiment","requestID":"979084f90fa735482379ac62d8c4b9f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9"},"level":"info","message":"Attempting to book experiment","requestID":"979084f90fa735482379ac62d8c4b9f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9"},"level":"info","message":"Successfully booked experiment","requestID":"979084f90fa735482379ac62d8c4b9f5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c6ba45b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c6ba6cc0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.856078,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c6ba45b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216175,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3NX0.JcekZU1-fTppp5VwUFoVJW6ztR50-Kqx7yQLFfGNppc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c6ba45b0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.008479,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c6ba6cc0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216175,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3NX0.JcekZU1-fTppp5VwUFoVJW6ztR50-Kqx7yQLFfGNppc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c6ba6cc0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23b64a20-9cbe-4099-912a-dccd5cfd72ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23b64a20-9cbe-4099-912a-dccd5cfd72ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:13.305696844Z"}]},"request_id":"7b27f35a-f9b1-4a84-9aa7-7a51844b2b49","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216175.510443} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c6ba45b0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:13.351682846Z"}]},"request_id":"b67eeef0-87f2-4bfc-8f15-f6a68903d013","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216175.5119433} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c6ba6cc0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c6ba45b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef? 200 20ms","method":"GET","requestID":"c6ba45b0-4430-11ef-b47c-55a12d3fdb12","responseTime":20,"status":200,"url":"/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c6ba6cc0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336? 200 20ms","method":"GET","requestID":"c6ba6cc0-4430-11ef-b47c-55a12d3fdb12","responseTime":20,"status":200,"url":"/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9"},"level":"info","message":"Setting up experiment","requestID":"979084f90fa735482379ac62d8c4b9f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"979084f90fa735482379ac62d8c4b9f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9"},"level":"info","message":"Successfully locked booking for experiment","requestID":"979084f90fa735482379ac62d8c4b9f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"979084f90fa735482379ac62d8c4b9f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"979084f90fa735482379ac62d8c4b9f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9"},"level":"info","message":"Attempting to update booking for experiment","requestID":"979084f90fa735482379ac62d8c4b9f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9"},"level":"info","message":"Successfully updated booking for experiment","requestID":"979084f90fa735482379ac62d8c4b9f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9"},"level":"info","message":"Successfully set up experiment","requestID":"979084f90fa735482379ac62d8c4b9f5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c6c51b20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c6c56940-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c6c5b760-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9"},"level":"info","message":"Successfully running experiment","requestID":"979084f90fa735482379ac62d8c4b9f5"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.397711,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c6c51b20-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216175,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3NX0.JcekZU1-fTppp5VwUFoVJW6ztR50-Kqx7yQLFfGNppc"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"c6c51b20-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.455254,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c6c56940-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216175,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3NX0.JcekZU1-fTppp5VwUFoVJW6ztR50-Kqx7yQLFfGNppc"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"c6c56940-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23b64a20-9cbe-4099-912a-dccd5cfd72ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23b64a20-9cbe-4099-912a-dccd5cfd72ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:13.305696844Z"}]},"request_id":"2495d158-ab47-401c-b510-4cbef67bc9af","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216175.5941324} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:13.351682846Z"}]},"request_id":"74c1cd99-0b8e-4b05-9b41-fb8e2271e381","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216175.5956492} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"c6c51b20-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"c6c56940-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:47884","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"client_addr":"127.0.0.1:47884","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.999353,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23b64a20-9cbe-4099-912a-dccd5cfd72ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8af711d5-3c5e-42fc-bd62-2adc793e02f7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216175.600499} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c6c51b20-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c6c5b760-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"GET /devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef? 200 35ms","method":"GET","requestID":"c6c51b20-4430-11ef-b47c-55a12d3fdb12","responseTime":35,"status":200,"url":"/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef?"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"c6c5b760-4430-11ef-b47c-55a12d3fdb12","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c6c56940-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd9fe4a01-74e1-4732-9d00-47644f8881a9#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd9fe4a01-74e1-4732-9d00-47644f8881a9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"300ca293-761a-4179-97ec-ccad65766f83","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216175.6044705} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d7095f1-bc15-479a-bceb-6a1046674a0d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216175.6049008} device-1 | {"level":"info","message":"GET /devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336? 200 35ms","method":"GET","requestID":"c6c56940-4430-11ef-b47c-55a12d3fdb12","responseTime":35,"status":200,"url":"/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","method":"POST","requestID":"979084f90fa735482379ac62d8c4b9f5","responseTime":25,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c6cb35a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c6c5b760-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef/signaling 200 40ms","method":"POST","requestID":"c6c5b760-4430-11ef-b47c-55a12d3fdb12","responseTime":40,"status":200,"url":"/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23b64a20-9cbe-4099-912a-dccd5cfd72ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"39a38b6a-90e5-4f89-ab17-b5d2dfd913a5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216175.6175227} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c6cc4710-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.014035,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c6cb35a0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c6cb35a0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"979084f90fa735482379ac62d8c4b9f5"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:15Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c6cb35a0-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"level":"info","message":"POST /experiments? 201 174ms","method":"POST","requestID":"979084f90fa735482379ac62d8c4b9f5","responseTime":174,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef/signaling 200 13ms","method":"POST","requestID":"c6cb35a0-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef/signaling"} gateway-1 | {"time_local":"17/Jul/2024:11:36:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"979084f90fa735482379ac62d8c4b9f5"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"93c5bfa7-a75b-4f50-924a-95c255c1afdd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216175.6257885} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.612903,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:15Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c6cda6a0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c6cc4710-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c6cc4710-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3NX0.JcekZU1-fTppp5VwUFoVJW6ztR50-Kqx7yQLFfGNppc","level":"info","message":"auth send jwt","requestID":"b8febdf7ffc937344ebe3f210ec7bba0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b8febdf7ffc937344ebe3f210ec7bba0","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:15Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b8febdf7ffc937344ebe3f210ec7bba0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c6cc4710-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6bfe0562-af74-47a8-ae64-b4cc585f2453","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216175.6333625} device-1 | {"level":"info","message":"POST /devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336/signaling 200 17ms","method":"POST","requestID":"c6cc4710-4430-11ef-b47c-55a12d3fdb12","responseTime":17,"status":200,"url":"/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.286069,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c6cda6a0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c6cda6a0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.138838,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b8febdf7ffc937344ebe3f210ec7bba0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216175,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3NX0.JcekZU1-fTppp5VwUFoVJW6ztR50-Kqx7yQLFfGNppc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b8febdf7ffc937344ebe3f210ec7bba0","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c6cda6a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336/signaling 200 15ms","method":"POST","requestID":"c6cda6a0-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336/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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23b64a20-9cbe-4099-912a-dccd5cfd72ef","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23b64a20-9cbe-4099-912a-dccd5cfd72ef","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:13.305696844Z"}]},"request_id":"22b1e456-834c-4b59-bee2-7f42ceb18596","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216175.641718} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"979084f90fa735482379ac62d8c4b9f5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9"},"level":"info","message":"Building connection plan","requestID":"979084f90fa735482379ac62d8c4b9f5"} 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":"fa03d590-b2a9-4530-b5e9-171978fe866a"},{"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":"567ccc83-ba50-40dc-9251-53febf267eb1"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c62ddc69-492c-479c-85ee-1c8121b28e0a"}]},"level":"info","message":"Built pairwise service configurations","requestID":"979084f90fa735482379ac62d8c4b9f5"} 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/23b64a20-9cbe-4099-912a-dccd5cfd72ef"},{"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/074117f5-ed2a-4e39-ba35-d7e2db0ff336"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"979084f90fa735482379ac62d8c4b9f5"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b8febdf7ffc937344ebe3f210ec7bba0","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c6d08cd0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b8febdf7ffc937344ebe3f210ec7bba0"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:15Z"} gateway-1 | {"time_local":"17/Jul/2024:11:36:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef? 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":"b8febdf7ffc937344ebe3f210ec7bba0"} device-1 | {"level":"info","message":"GET /devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef? 200 17ms","method":"GET","requestID":"b8febdf7ffc937344ebe3f210ec7bba0","responseTime":17,"status":200,"url":"/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef?"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.92998,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c6d08cd0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216175,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3NX0.JcekZU1-fTppp5VwUFoVJW6ztR50-Kqx7yQLFfGNppc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c6d08cd0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3NX0.JcekZU1-fTppp5VwUFoVJW6ztR50-Kqx7yQLFfGNppc","level":"info","message":"auth send jwt","requestID":"f8b75306ca9aed3ce1ddc65a6e6bc6e6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f8b75306ca9aed3ce1ddc65a6e6bc6e6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f8b75306ca9aed3ce1ddc65a6e6bc6e6"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"34435cec-2e05-4b9c-b8c5-fb1c9a768e95","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216175.658324} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"967767e2-3252-4b5a-9ce9-5ace406af258","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216175.658513} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.799186,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"c6d08cd0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"f8b75306ca9aed3ce1ddc65a6e6bc6e6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216175,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3NX0.JcekZU1-fTppp5VwUFoVJW6ztR50-Kqx7yQLFfGNppc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f8b75306ca9aed3ce1ddc65a6e6bc6e6","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:13.351682846Z"}]},"request_id":"4a1a314b-f32e-45ef-ab3b-13d2d98f07a8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216175.664885} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f8b75306ca9aed3ce1ddc65a6e6bc6e6","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c6d08cd0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c6d08cd0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/be184f2f-766c-4a92-977e-f4726eda38ec'","requestID":"c6d08cd0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/be184f2f-766c-4a92-977e-f4726eda38ec'","requestID":"c6d08cd0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c6d08cd0-4430-11ef-b47c-55a12d3fdb12"} 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":"c6d08cd0-4430-11ef-b47c-55a12d3fdb12","responseTime":29,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f8b75306ca9aed3ce1ddc65a6e6bc6e6"} gateway-1 | {"time_local":"17/Jul/2024:11:36:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336? 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":"f8b75306ca9aed3ce1ddc65a6e6bc6e6"} device-1 | {"level":"info","message":"GET /devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336? 200 20ms","method":"GET","requestID":"f8b75306ca9aed3ce1ddc65a6e6bc6e6","responseTime":20,"status":200,"url":"/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"c6d08cd0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/be184f2f-766c-4a92-977e-f4726eda38ec","device":"23b64a20-9cbe-4099-912a-dccd5cfd72ef","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","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"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"979084f90fa735482379ac62d8c4b9f5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c6d93f60-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:15Z"} device-1 | {"device":"23b64a20-9cbe-4099-912a-dccd5cfd72ef","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"23b64a20-9cbe-4099-912a-dccd5cfd72ef","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23b64a20-9cbe-4099-912a-dccd5cfd72ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c31fc0b9-a16b-4910-8bc0-3da29fc928a0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216175.7071207} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.633032,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c6d93f60-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c6d93f60-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c6d93f60-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef/signaling 200 9ms","method":"POST","requestID":"c6d93f60-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c6daed10-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"58ea5caf-6b3f-4ea9-a8f9-f017a9f10a46","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216175.7172296} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.173232,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c6daed10-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c6daed10-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c6daed10-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336/signaling 200 7ms","method":"POST","requestID":"c6daed10-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336/signaling"} device-1 | {"device":"074117f5-ed2a-4e39-ba35-d7e2db0ff336","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"be184f2f-766c-4a92-977e-f4726eda38ec","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 2079027905537074117 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:CrYs\r\na=ice-pwd:EndkcTqn8RodOQgkmk+b4w+i\r\na=ice-options:trickle\r\na=fingerprint:sha-256 4E:76:73:14:B4:9E:A3:00:DB:87:2B:B7:23:AD:6F:65:60:B2:F3:57:EA:29:A8:6B:8D:7F:4D:5D:0B:0A:22:E2\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"23b64a20-9cbe-4099-912a-dccd5cfd72ef","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2089563304 1 udp 2113937151 cfd529e8-accc-40ce-9ad3-d920cc14f413.local 46186 typ host generation 0 ufrag CrYs network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"23b64a20-9cbe-4099-912a-dccd5cfd72ef","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"23b64a20-9cbe-4099-912a-dccd5cfd72ef","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"074117f5-ed2a-4e39-ba35-d7e2db0ff336","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"074117f5-ed2a-4e39-ba35-d7e2db0ff336","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"074117f5-ed2a-4e39-ba35-d7e2db0ff336","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"content":{"candidate":"candidate:4020737467 1 udp 1677729535 141.24.211.56 46186 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag CrYs network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"23b64a20-9cbe-4099-912a-dccd5cfd72ef","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/be184f2f-766c-4a92-977e-f4726eda38ec' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"be184f2f-766c-4a92-977e-f4726eda38ec","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"23b64a20-9cbe-4099-912a-dccd5cfd72ef","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef'"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"95656a5751f235acf11a013e57dfff6c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"95656a5751f235acf11a013e57dfff6c","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/23b64a20-9cbe-4099-912a-dccd5cfd72ef"},{"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/074117f5-ed2a-4e39-ba35-d7e2db0ff336"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/be184f2f-766c-4a92-977e-f4726eda38ec"}}},"level":"info","message":"received a callback","requestID":"95656a5751f235acf11a013e57dfff6c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"95656a5751f235acf11a013e57dfff6c","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"95656a5751f235acf11a013e57dfff6c"} device-1 | {"data":{"peerconnection":"be184f2f-766c-4a92-977e-f4726eda38ec","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"074117f5-ed2a-4e39-ba35-d7e2db0ff336","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"23b64a20-9cbe-4099-912a-dccd5cfd72ef","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"074117f5-ed2a-4e39-ba35-d7e2db0ff336","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"be184f2f-766c-4a92-977e-f4726eda38ec","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"23b64a20-9cbe-4099-912a-dccd5cfd72ef","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/be184f2f-766c-4a92-977e-f4726eda38ec' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"be184f2f-766c-4a92-977e-f4726eda38ec","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b79608ec2b0cfa670ef062909ca3aadc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b79608ec2b0cfa670ef062909ca3aadc","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/23b64a20-9cbe-4099-912a-dccd5cfd72ef"},{"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/074117f5-ed2a-4e39-ba35-d7e2db0ff336"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/be184f2f-766c-4a92-977e-f4726eda38ec"}}},"level":"info","message":"received a callback","requestID":"b79608ec2b0cfa670ef062909ca3aadc"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c823e7d0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:17Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbe184f2f-766c-4a92-977e-f4726eda38ec","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"215a0eb2-492c-4fbe-a4e2-ab7e98e73304","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216177.8761954} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.574405,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/be184f2f-766c-4a92-977e-f4726eda38ec","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c823e7d0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/be184f2f-766c-4a92-977e-f4726eda38ec","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","method":"POST","requestID":"c823e7d0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c823e7d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/be184f2f-766c-4a92-977e-f4726eda38ec 200 13ms","method":"GET","requestID":"c823e7d0-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/peerconnections/be184f2f-766c-4a92-977e-f4726eda38ec"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"b79608ec2b0cfa670ef062909ca3aadc","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch","requestID":"b79608ec2b0cfa670ef062909ca3aadc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c8293f00-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:17Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23b64a20-9cbe-4099-912a-dccd5cfd72ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da4f5e41-4b63-4231-a21a-e7b70ffca229","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216177.9107132} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.669236,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c8293f00-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c8293f00-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c8293f00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef/signaling 200 13ms","method":"POST","requestID":"c8293f00-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c82bd710-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:17Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b0be36e9-078c-40f2-a3db-0bee1043d357","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216177.9289713} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.758968,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c82bd710-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c82bd710-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c82bd710-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336/signaling 200 13ms","method":"POST","requestID":"c82bd710-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3N30._ka6VoDZiSeiRrR7eTaiaQ_IY7dd0kyKyMh6EUlpHg4","level":"info","message":"auth send jwt","requestID":"ed2b34585c8d94de7a142800ed251514"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ed2b34585c8d94de7a142800ed251514","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9","requestID":"ed2b34585c8d94de7a142800ed251514"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:17Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.227268,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ed2b34585c8d94de7a142800ed251514","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216177,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3N30._ka6VoDZiSeiRrR7eTaiaQ_IY7dd0kyKyMh6EUlpHg4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ed2b34585c8d94de7a142800ed251514","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9","requestID":"ed2b34585c8d94de7a142800ed251514"} gateway-1 | {"time_local":"17/Jul/2024:11:36:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9 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":"ed2b34585c8d94de7a142800ed251514"} experiment-1 | {"level":"info","message":"GET /experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9 200 15ms","method":"GET","requestID":"ed2b34585c8d94de7a142800ed251514","responseTime":15,"status":200,"url":"/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3N30._ka6VoDZiSeiRrR7eTaiaQ_IY7dd0kyKyMh6EUlpHg4","level":"info","message":"auth send jwt","requestID":"bb64f315aec599f66dc1c07b14914ed8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bb64f315aec599f66dc1c07b14914ed8","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9","requestID":"bb64f315aec599f66dc1c07b14914ed8"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:17Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.510613,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"bb64f315aec599f66dc1c07b14914ed8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216177,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3N30._ka6VoDZiSeiRrR7eTaiaQ_IY7dd0kyKyMh6EUlpHg4"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"bb64f315aec599f66dc1c07b14914ed8","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9"},"level":"info","message":"Attempting to finish experiment","requestID":"bb64f315aec599f66dc1c07b14914ed8"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c8385a30-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.270488,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/be184f2f-766c-4a92-977e-f4726eda38ec","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c8385a30-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/be184f2f-766c-4a92-977e-f4726eda38ec","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216177,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3N30._ka6VoDZiSeiRrR7eTaiaQ_IY7dd0kyKyMh6EUlpHg4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c8385a30-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/be184f2f-766c-4a92-977e-f4726eda38ec","device":"23b64a20-9cbe-4099-912a-dccd5cfd72ef","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"074117f5-ed2a-4e39-ba35-d7e2db0ff336","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"074117f5-ed2a-4e39-ba35-d7e2db0ff336","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"074117f5-ed2a-4e39-ba35-d7e2db0ff336","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/be184f2f-766c-4a92-977e-f4726eda38ec' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/be184f2f-766c-4a92-977e-f4726eda38ec' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"be184f2f-766c-4a92-977e-f4726eda38ec","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbe184f2f-766c-4a92-977e-f4726eda38ec': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbe184f2f-766c-4a92-977e-f4726eda38ec","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"703dff83-b141-4330-a1e4-378e74e1f494","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216178.0275488} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"da7c6b18b7c71f9ad1d6524eb6f356f8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"166a6370-ffaf-4717-aa8f-b00a3c9099a9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216178.0282798} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"da7c6b18b7c71f9ad1d6524eb6f356f8","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"c8385a30-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/relations/update"} 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/23b64a20-9cbe-4099-912a-dccd5cfd72ef"},{"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/074117f5-ed2a-4e39-ba35-d7e2db0ff336"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/be184f2f-766c-4a92-977e-f4726eda38ec"}}},"level":"info","message":"received a callback","requestID":"da7c6b18b7c71f9ad1d6524eb6f356f8"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"eafe1a694552c643a440c7065ed3b2a5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"eafe1a694552c643a440c7065ed3b2a5","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/23b64a20-9cbe-4099-912a-dccd5cfd72ef"},{"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/074117f5-ed2a-4e39-ba35-d7e2db0ff336"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/be184f2f-766c-4a92-977e-f4726eda38ec"}}},"level":"info","message":"received a callback","requestID":"eafe1a694552c643a440c7065ed3b2a5"} device-1 | {"data":{"peerconnection":"be184f2f-766c-4a92-977e-f4726eda38ec","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c8385a30-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/be184f2f-766c-4a92-977e-f4726eda38ec 204 50ms","method":"DELETE","requestID":"c8385a30-4430-11ef-b47c-55a12d3fdb12","responseTime":50,"status":204,"url":"/peerconnections/be184f2f-766c-4a92-977e-f4726eda38ec"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9"},"level":"info","message":"Successfully finished experiment","requestID":"bb64f315aec599f66dc1c07b14914ed8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c8437dc0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:18Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F23b64a20-9cbe-4099-912a-dccd5cfd72ef","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf1bedda-d89e-4f9d-9654-51887a2ac5ba","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216178.0823302} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.120995,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c8437dc0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c8437dc0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c8437dc0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef/signaling 200 12ms","method":"POST","requestID":"c8437dc0-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd9fe4a01-74e1-4732-9d00-47644f8881a9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd9fe4a01-74e1-4732-9d00-47644f8881a9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"e342d52c-c61b-44ad-a9b5-77cad3eb38b4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216178.0898616} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dced49bb-889e-4e63-bb99-6680c933a151","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216178.0901332} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c845c7b0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"bb64f315aec599f66dc1c07b14914ed8","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:18Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F074117f5-ed2a-4e39-ba35-d7e2db0ff336","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3cca5bde-122f-4804-bc55-67f41444c88a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216178.096845} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.8195,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c845c7b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c845c7b0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c845c7b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336/signaling 200 12ms","method":"POST","requestID":"c845c7b0-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9","requestID":"bb64f315aec599f66dc1c07b14914ed8"} gateway-1 | {"time_local":"17/Jul/2024:11:36:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9 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":"bb64f315aec599f66dc1c07b14914ed8"} experiment-1 | {"level":"info","message":"DELETE /experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9 204 173ms","method":"DELETE","requestID":"bb64f315aec599f66dc1c07b14914ed8","responseTime":173,"status":204,"url":"/experiments/d9fe4a01-74e1-4732-9d00-47644f8881a9"} gateway-1 | {"time_local":"17/Jul/2024:11:36:18 +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.253","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"2ce350eb42bb592ee000404d4f90e707"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 130ms","method":"POST","requestID":"da7c6b18b7c71f9ad1d6524eb6f356f8","responseTime":130,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.135","http_referrer":"","http_user_agent":"node-fetch","requestID":"da7c6b18b7c71f9ad1d6524eb6f356f8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"eafe1a694552c643a440c7065ed3b2a5","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch","requestID":"eafe1a694552c643a440c7065ed3b2a5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3OH0.deXmBcpjiTKF1PaEt8VYj2YYyTgNPrfXZSIKtZgiyQQ","level":"info","message":"auth send jwt","requestID":"42d7a71e23b65e0e332d534f75bd5177"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"42d7a71e23b65e0e332d534f75bd5177","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"42d7a71e23b65e0e332d534f75bd5177"} gateway-1 | {"time_local":"17/Jul/2024:11:36:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.799","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d0b617fcecb7520882ae06d03864c126"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.906708,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"42d7a71e23b65e0e332d534f75bd5177","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216178,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3OH0.deXmBcpjiTKF1PaEt8VYj2YYyTgNPrfXZSIKtZgiyQQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"42d7a71e23b65e0e332d534f75bd5177","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/074117f5-ed2a-4e39-ba35-d7e2db0ff336' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc59c3022-30a2-4713-842d-6db2868d938e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"968e1af6-0ce7-450e-a4b8-56eaf8df2bb2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216178.1936522} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"42d7a71e23b65e0e332d534f75bd5177","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/23b64a20-9cbe-4099-912a-dccd5cfd72ef' 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:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"34e191e2-bc35-4f74-981a-3f67f9754bf8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216178.1996179} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"42d7a71e23b65e0e332d534f75bd5177","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc59c3022-30a2-4713-842d-6db2868d938e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"8c97a300-cdca-4e6c-b6b9-97d821731879","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216178.2103083} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6468f9c8-182a-4b10-95d5-4a4abf61f567","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216178.2104454} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"42d7a71e23b65e0e332d534f75bd5177","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc59c3022-30a2-4713-842d-6db2868d938e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc59c3022-30a2-4713-842d-6db2868d938e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:18.210284365Z"}]},"request_id":"36432a75-3daa-4252-9a70-12fbcef62264","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216178.2152054} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"42d7a71e23b65e0e332d534f75bd5177","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"42d7a71e23b65e0e332d534f75bd5177"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"42d7a71e23b65e0e332d534f75bd5177","responseTime":51,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"17/Jul/2024:11:36:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"42d7a71e23b65e0e332d534f75bd5177"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3OH0.deXmBcpjiTKF1PaEt8VYj2YYyTgNPrfXZSIKtZgiyQQ","level":"info","message":"auth send jwt","requestID":"329f42120dd5396bb53dade18b746eeb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"329f42120dd5396bb53dade18b746eeb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"329f42120dd5396bb53dade18b746eeb"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.698333,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"329f42120dd5396bb53dade18b746eeb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216178,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3OH0.deXmBcpjiTKF1PaEt8VYj2YYyTgNPrfXZSIKtZgiyQQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"329f42120dd5396bb53dade18b746eeb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fce6fbbe-28f9-4ac4-b144-7e78aa22de9b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216178.2454917} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"329f42120dd5396bb53dade18b746eeb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5dcc1c6a-5534-4d04-b490-a1edd464300e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216178.2503326} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"329f42120dd5396bb53dade18b746eeb","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"286ef153-9010-44d5-9b52-b567fd040ec5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216178.2609046} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"96ec2406-ac7c-493f-b0e5-7715e0b68fb9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216178.2610133} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"329f42120dd5396bb53dade18b746eeb","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:18.260881723Z"}]},"request_id":"a36cdf65-ecf3-42ae-bf32-f1b0bcbbc299","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216178.265853} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"329f42120dd5396bb53dade18b746eeb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"329f42120dd5396bb53dade18b746eeb"} gateway-1 | {"time_local":"17/Jul/2024:11:36:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"329f42120dd5396bb53dade18b746eeb"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"329f42120dd5396bb53dade18b746eeb","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3OH0.deXmBcpjiTKF1PaEt8VYj2YYyTgNPrfXZSIKtZgiyQQ","level":"info","message":"auth send jwt","requestID":"fb8687c1b26ab314f67aacec176fa01d"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fb8687c1b26ab314f67aacec176fa01d","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"fb8687c1b26ab314f67aacec176fa01d"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.702765,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"fb8687c1b26ab314f67aacec176fa01d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216178,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3OH0.deXmBcpjiTKF1PaEt8VYj2YYyTgNPrfXZSIKtZgiyQQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"fb8687c1b26ab314f67aacec176fa01d","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:18.260881723Z"}]},"request_id":"dc2150b1-045a-43ed-b849-ef173ff4b1c9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216178.7570946} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"fb8687c1b26ab314f67aacec176fa01d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a4f5ead-1a92-4dc6-a7f0-aa872dd908a9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216178.7624521} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"fb8687c1b26ab314f67aacec176fa01d","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:18.260881723Z"}]},"request_id":"6f955323-5b25-4acc-916d-bbbadfc3b3ed","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216178.7739768} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fb8687c1b26ab314f67aacec176fa01d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"fb8687c1b26ab314f67aacec176fa01d"} device-1 | {"level":"info","message":"PATCH /devices/e5041995-a362-452b-8b93-13805db1b130 200 27ms","method":"PATCH","requestID":"fb8687c1b26ab314f67aacec176fa01d","responseTime":27,"status":200,"url":"/devices/e5041995-a362-452b-8b93-13805db1b130"} gateway-1 | {"time_local":"17/Jul/2024:11:36:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e5041995-a362-452b-8b93-13805db1b130 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.033","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"fb8687c1b26ab314f67aacec176fa01d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3OH0.deXmBcpjiTKF1PaEt8VYj2YYyTgNPrfXZSIKtZgiyQQ","level":"info","message":"auth send jwt","requestID":"348196c04c2af9a102aacc61a1315c87"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"348196c04c2af9a102aacc61a1315c87","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"348196c04c2af9a102aacc61a1315c87"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:18Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.314783,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"348196c04c2af9a102aacc61a1315c87","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216178,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE3OH0.deXmBcpjiTKF1PaEt8VYj2YYyTgNPrfXZSIKtZgiyQQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"348196c04c2af9a102aacc61a1315c87","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"348196c04c2af9a102aacc61a1315c87"} device-1 | {"level":"info","message":"POST /devices/e5041995-a362-452b-8b93-13805db1b130/websocket 200 20ms","method":"POST","requestID":"348196c04c2af9a102aacc61a1315c87","responseTime":20,"status":200,"url":"/devices/e5041995-a362-452b-8b93-13805db1b130/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:36:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e5041995-a362-452b-8b93-13805db1b130/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":"348196c04c2af9a102aacc61a1315c87"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"df94ab23b514c3cc29a09da9481249c9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"df94ab23b514c3cc29a09da9481249c9","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:36:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c59c3022-30a2-4713-842d-6db2868d938e/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":"df94ab23b514c3cc29a09da9481249c9"} device-1 | {"level":"info","message":"OPTIONS /devices/c59c3022-30a2-4713-842d-6db2868d938e/websocket 200 1ms","method":"OPTIONS","requestID":"df94ab23b514c3cc29a09da9481249c9","responseTime":1,"status":200,"url":"/devices/c59c3022-30a2-4713-842d-6db2868d938e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4MH0.r5LmmY9VnZqEqmlNVJPxHqEcC_ekAHoMohdGXZxVY0I","level":"info","message":"auth send jwt","requestID":"88ed6bd0ac2f6111d254aaa5e0e0406d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"88ed6bd0ac2f6111d254aaa5e0e0406d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"88ed6bd0ac2f6111d254aaa5e0e0406d"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.063165,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"88ed6bd0ac2f6111d254aaa5e0e0406d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216180,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4MH0.r5LmmY9VnZqEqmlNVJPxHqEcC_ekAHoMohdGXZxVY0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"88ed6bd0ac2f6111d254aaa5e0e0406d","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"88ed6bd0ac2f6111d254aaa5e0e0406d"} device-1 | {"level":"info","message":"POST /devices/c59c3022-30a2-4713-842d-6db2868d938e/websocket 200 21ms","method":"POST","requestID":"88ed6bd0ac2f6111d254aaa5e0e0406d","responseTime":21,"status":200,"url":"/devices/c59c3022-30a2-4713-842d-6db2868d938e/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:36:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c59c3022-30a2-4713-842d-6db2868d938e/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":"88ed6bd0ac2f6111d254aaa5e0e0406d"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4MH0.r5LmmY9VnZqEqmlNVJPxHqEcC_ekAHoMohdGXZxVY0I","level":"info","message":"auth send jwt","requestID":"196a6804a62a6fe1ef683e7db95a47e9"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"196a6804a62a6fe1ef683e7db95a47e9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"196a6804a62a6fe1ef683e7db95a47e9"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.212454,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"196a6804a62a6fe1ef683e7db95a47e9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216180,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4MH0.r5LmmY9VnZqEqmlNVJPxHqEcC_ekAHoMohdGXZxVY0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"196a6804a62a6fe1ef683e7db95a47e9","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc59c3022-30a2-4713-842d-6db2868d938e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc59c3022-30a2-4713-842d-6db2868d938e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:18.210284365Z"}]},"request_id":"0d555ead-d684-4ac6-a454-49547d54b017","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216180.3178222} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"196a6804a62a6fe1ef683e7db95a47e9","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"196a6804a62a6fe1ef683e7db95a47e9"} gateway-1 | {"time_local":"17/Jul/2024:11:36:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c59c3022-30a2-4713-842d-6db2868d938e? 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":"196a6804a62a6fe1ef683e7db95a47e9"} device-1 | {"level":"info","message":"GET /devices/c59c3022-30a2-4713-842d-6db2868d938e? 200 16ms","method":"GET","requestID":"196a6804a62a6fe1ef683e7db95a47e9","responseTime":16,"status":200,"url":"/devices/c59c3022-30a2-4713-842d-6db2868d938e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4MH0.r5LmmY9VnZqEqmlNVJPxHqEcC_ekAHoMohdGXZxVY0I","level":"info","message":"auth send jwt","requestID":"6bf5a24aae764913aea737f95c4f6c3e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6bf5a24aae764913aea737f95c4f6c3e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6bf5a24aae764913aea737f95c4f6c3e"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.446903,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"6bf5a24aae764913aea737f95c4f6c3e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216180,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4MH0.r5LmmY9VnZqEqmlNVJPxHqEcC_ekAHoMohdGXZxVY0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"6bf5a24aae764913aea737f95c4f6c3e","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:18.260881723Z"}]},"request_id":"8e46fd5a-514d-4026-8dab-bc7f73eaf063","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216180.3432055} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6bf5a24aae764913aea737f95c4f6c3e","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6bf5a24aae764913aea737f95c4f6c3e"} gateway-1 | {"time_local":"17/Jul/2024:11:36:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e5041995-a362-452b-8b93-13805db1b130? 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":"6bf5a24aae764913aea737f95c4f6c3e"} device-1 | {"level":"info","message":"GET /devices/e5041995-a362-452b-8b93-13805db1b130? 200 18ms","method":"GET","requestID":"6bf5a24aae764913aea737f95c4f6c3e","responseTime":18,"status":200,"url":"/devices/e5041995-a362-452b-8b93-13805db1b130?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4MH0.r5LmmY9VnZqEqmlNVJPxHqEcC_ekAHoMohdGXZxVY0I","level":"info","message":"auth send jwt","requestID":"97e686af0f4c18bd115cb9580ba93986"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"97e686af0f4c18bd115cb9580ba93986","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"97e686af0f4c18bd115cb9580ba93986"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.36385,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"97e686af0f4c18bd115cb9580ba93986","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216180,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4MH0.r5LmmY9VnZqEqmlNVJPxHqEcC_ekAHoMohdGXZxVY0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"97e686af0f4c18bd115cb9580ba93986","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750"},"level":"info","message":"Attempting to run experiment","requestID":"97e686af0f4c18bd115cb9580ba93986"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750"},"level":"info","message":"Attempting to book experiment","requestID":"97e686af0f4c18bd115cb9580ba93986"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750"},"level":"info","message":"Successfully booked experiment","requestID":"97e686af0f4c18bd115cb9580ba93986"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c9a66920-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c9a6b740-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.364262,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c9a66920-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216180,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4MH0.r5LmmY9VnZqEqmlNVJPxHqEcC_ekAHoMohdGXZxVY0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c9a66920-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.213456,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c9a6b740-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216180,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4MH0.r5LmmY9VnZqEqmlNVJPxHqEcC_ekAHoMohdGXZxVY0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c9a6b740-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc59c3022-30a2-4713-842d-6db2868d938e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc59c3022-30a2-4713-842d-6db2868d938e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:18.210284365Z"}]},"request_id":"6bba8a41-36e8-47f5-bcc6-ab68949fe931","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216180.4132493} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c9a66920-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:18.260881723Z"}]},"request_id":"56bbecb6-8035-450f-a5d5-f1632303f956","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216180.4148629} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c9a6b740-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c9a66920-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/c59c3022-30a2-4713-842d-6db2868d938e? 200 19ms","method":"GET","requestID":"c9a66920-4430-11ef-b47c-55a12d3fdb12","responseTime":19,"status":200,"url":"/devices/c59c3022-30a2-4713-842d-6db2868d938e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c9a6b740-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/e5041995-a362-452b-8b93-13805db1b130? 200 18ms","method":"GET","requestID":"c9a6b740-4430-11ef-b47c-55a12d3fdb12","responseTime":18,"status":200,"url":"/devices/e5041995-a362-452b-8b93-13805db1b130?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750"},"level":"info","message":"Setting up experiment","requestID":"97e686af0f4c18bd115cb9580ba93986"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"97e686af0f4c18bd115cb9580ba93986"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750"},"level":"info","message":"Successfully locked booking for experiment","requestID":"97e686af0f4c18bd115cb9580ba93986"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"97e686af0f4c18bd115cb9580ba93986"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"97e686af0f4c18bd115cb9580ba93986"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750"},"level":"info","message":"Attempting to update booking for experiment","requestID":"97e686af0f4c18bd115cb9580ba93986"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750"},"level":"info","message":"Successfully updated booking for experiment","requestID":"97e686af0f4c18bd115cb9580ba93986"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750"},"level":"info","message":"Successfully set up experiment","requestID":"97e686af0f4c18bd115cb9580ba93986"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c9b29e20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c9b31350-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9b36170-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.361546,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:20Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750"},"level":"info","message":"Successfully running experiment","requestID":"97e686af0f4c18bd115cb9580ba93986"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c9b29e20-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216180,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4MH0.r5LmmY9VnZqEqmlNVJPxHqEcC_ekAHoMohdGXZxVY0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"c9b29e20-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.124177,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c9b31350-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216180,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4MH0.r5LmmY9VnZqEqmlNVJPxHqEcC_ekAHoMohdGXZxVY0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"c9b31350-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:18.260881723Z"}]},"request_id":"e808b28f-bb0b-48c9-b2a2-174ddfb1de2c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216180.5043} authorization-1 | {"client_addr":"127.0.0.1:47894","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"c9b31350-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc59c3022-30a2-4713-842d-6db2868d938e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc59c3022-30a2-4713-842d-6db2868d938e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:18.210284365Z"}]},"request_id":"700b3a02-7fb2-4b39-bc46-c29aea8464f6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216180.5081153} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc59c3022-30a2-4713-842d-6db2868d938e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d1fb74e-a309-44db-9d92-bc6eb2dbdfa4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216180.5083866} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"c9b29e20-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:47894","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.206377,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c9b36170-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 21ms","method":"POST","requestID":"c9b36170-4430-11ef-b47c-55a12d3fdb12","responseTime":21,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa369175a-b559-4b25-b93e-78bba5288750#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa369175a-b559-4b25-b93e-78bba5288750","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"25279afd-bf69-4514-bba9-ce1125e78a44","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216180.5167322} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c9b31350-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f1edb9bc-3fe7-4986-bde0-f119377c6bd3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216180.517535} device-1 | {"level":"info","message":"GET /devices/e5041995-a362-452b-8b93-13805db1b130? 200 33ms","method":"GET","requestID":"c9b31350-4430-11ef-b47c-55a12d3fdb12","responseTime":33,"status":200,"url":"/devices/e5041995-a362-452b-8b93-13805db1b130?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c9b29e20-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"97e686af0f4c18bd115cb9580ba93986","responseTime":21,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/c59c3022-30a2-4713-842d-6db2868d938e? 200 37ms","method":"GET","requestID":"c9b29e20-4430-11ef-b47c-55a12d3fdb12","responseTime":37,"status":200,"url":"/devices/c59c3022-30a2-4713-842d-6db2868d938e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9b36170-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/c59c3022-30a2-4713-842d-6db2868d938e/signaling 200 33ms","method":"POST","requestID":"c9b36170-4430-11ef-b47c-55a12d3fdb12","responseTime":33,"status":200,"url":"/devices/c59c3022-30a2-4713-842d-6db2868d938e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9b954e0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9b9a300-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc59c3022-30a2-4713-842d-6db2868d938e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6fe345c9-62ac-4d6e-bbe9-1fa4cc82d14e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216180.5320518} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"97e686af0f4c18bd115cb9580ba93986"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.118604,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:20Z"} gateway-1 | {"time_local":"17/Jul/2024:11:36:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"97e686af0f4c18bd115cb9580ba93986"} experiment-1 | {"level":"info","message":"POST /experiments? 201 174ms","method":"POST","requestID":"97e686af0f4c18bd115cb9580ba93986","responseTime":174,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c9b954e0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c9b954e0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d62a499c-80bf-4936-ad5c-f48c47095047","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216180.533591} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.338351,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c9b9a300-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c9b9a300-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4MH0.r5LmmY9VnZqEqmlNVJPxHqEcC_ekAHoMohdGXZxVY0I","level":"info","message":"auth send jwt","requestID":"79cb2d6c3be406db9eb9b7a972de8ae9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9b954e0-4430-11ef-b47c-55a12d3fdb12"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"79cb2d6c3be406db9eb9b7a972de8ae9","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/c59c3022-30a2-4713-842d-6db2868d938e/signaling 200 16ms","method":"POST","requestID":"c9b954e0-4430-11ef-b47c-55a12d3fdb12","responseTime":16,"status":200,"url":"/devices/c59c3022-30a2-4713-842d-6db2868d938e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9b9a300-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/e5041995-a362-452b-8b93-13805db1b130/signaling 200 15ms","method":"POST","requestID":"c9b9a300-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/e5041995-a362-452b-8b93-13805db1b130/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"79cb2d6c3be406db9eb9b7a972de8ae9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9bc6220-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.064111,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"79cb2d6c3be406db9eb9b7a972de8ae9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216180,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4MH0.r5LmmY9VnZqEqmlNVJPxHqEcC_ekAHoMohdGXZxVY0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"79cb2d6c3be406db9eb9b7a972de8ae9","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"89d7edd1-99f3-4983-83ab-fa4f7bccfcbb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216180.5523782} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.947035,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c9bc6220-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c9bc6220-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc59c3022-30a2-4713-842d-6db2868d938e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc59c3022-30a2-4713-842d-6db2868d938e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:18.210284365Z"}]},"request_id":"2a095928-b27b-4061-b900-f540d35c8488","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216180.5548966} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"79cb2d6c3be406db9eb9b7a972de8ae9","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9bc6220-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/e5041995-a362-452b-8b93-13805db1b130/signaling 200 15ms","method":"POST","requestID":"c9bc6220-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/e5041995-a362-452b-8b93-13805db1b130/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"79cb2d6c3be406db9eb9b7a972de8ae9"} gateway-1 | {"time_local":"17/Jul/2024:11:36:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c59c3022-30a2-4713-842d-6db2868d938e? 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":"79cb2d6c3be406db9eb9b7a972de8ae9"} device-1 | {"level":"info","message":"GET /devices/c59c3022-30a2-4713-842d-6db2868d938e? 200 18ms","method":"GET","requestID":"79cb2d6c3be406db9eb9b7a972de8ae9","responseTime":18,"status":200,"url":"/devices/c59c3022-30a2-4713-842d-6db2868d938e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"97e686af0f4c18bd115cb9580ba93986"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750"},"level":"info","message":"Building connection plan","requestID":"97e686af0f4c18bd115cb9580ba93986"} 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":"172067e1-c4af-4eb1-a259-fcbaf68d1b87"},{"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":"e3063e96-c72b-4eb4-b4aa-59e1e4a5f3f8"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9290af2b-84dd-4770-b188-a3b0c3329d05"}]},"level":"info","message":"Built pairwise service configurations","requestID":"97e686af0f4c18bd115cb9580ba93986"} 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/e5041995-a362-452b-8b93-13805db1b130"},{"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/c59c3022-30a2-4713-842d-6db2868d938e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"97e686af0f4c18bd115cb9580ba93986"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c9bf4850-4430-11ef-b47c-55a12d3fdb12"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4MH0.r5LmmY9VnZqEqmlNVJPxHqEcC_ekAHoMohdGXZxVY0I","level":"info","message":"auth send jwt","requestID":"2070786b5a341a372d4528848c339d2e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2070786b5a341a372d4528848c339d2e","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:20Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2070786b5a341a372d4528848c339d2e"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.337823,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c9bf4850-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216180,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4MH0.r5LmmY9VnZqEqmlNVJPxHqEcC_ekAHoMohdGXZxVY0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c9bf4850-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.08889,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"2070786b5a341a372d4528848c339d2e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216180,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4MH0.r5LmmY9VnZqEqmlNVJPxHqEcC_ekAHoMohdGXZxVY0I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2070786b5a341a372d4528848c339d2e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:18.260881723Z"}]},"request_id":"7d0207fe-5240-482a-afa9-119187600099","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216180.5779166} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2070786b5a341a372d4528848c339d2e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"698c069f-68b6-46c4-8b3e-c76a87851d93","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216180.578961} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"69a3e9ed-81f8-49e2-a131-b1b130da3cbe","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216180.5791311} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"c9bf4850-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2070786b5a341a372d4528848c339d2e"} gateway-1 | {"time_local":"17/Jul/2024:11:36:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e5041995-a362-452b-8b93-13805db1b130? 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":"2070786b5a341a372d4528848c339d2e"} device-1 | {"level":"info","message":"GET /devices/e5041995-a362-452b-8b93-13805db1b130? 200 13ms","method":"GET","requestID":"2070786b5a341a372d4528848c339d2e","responseTime":13,"status":200,"url":"/devices/e5041995-a362-452b-8b93-13805db1b130?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c9bf4850-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c9bf4850-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/42a2d091-9475-4fb5-96d8-fccb155b7ffb'","requestID":"c9bf4850-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/42a2d091-9475-4fb5-96d8-fccb155b7ffb'","requestID":"c9bf4850-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c9bf4850-4430-11ef-b47c-55a12d3fdb12"} 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":"c9bf4850-4430-11ef-b47c-55a12d3fdb12","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","requestID":"c9bf4850-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/42a2d091-9475-4fb5-96d8-fccb155b7ffb","device":"c59c3022-30a2-4713-842d-6db2868d938e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","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"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"97e686af0f4c18bd115cb9580ba93986"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9c821f0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc59c3022-30a2-4713-842d-6db2868d938e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b055414e-e828-4a9d-a7a7-906b030a65dc","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216180.6293883} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.022192,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c9c821f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"c9c821f0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9c821f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/c59c3022-30a2-4713-842d-6db2868d938e/signaling 200 11ms","method":"POST","requestID":"c9c821f0-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/c59c3022-30a2-4713-842d-6db2868d938e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9ca1dc0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5551925-de50-4333-88fb-0050915d0d1e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216180.6407933} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.142079,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c9ca1dc0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c9ca1dc0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9ca1dc0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/e5041995-a362-452b-8b93-13805db1b130/signaling 200 9ms","method":"POST","requestID":"c9ca1dc0-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/e5041995-a362-452b-8b93-13805db1b130/signaling"} device-1 | {"device":"c59c3022-30a2-4713-842d-6db2868d938e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"c59c3022-30a2-4713-842d-6db2868d938e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 6158457119114912096 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:Gb3B\r\na=ice-pwd:ttEpa/2wXBUxJn1kw7UFq6Tu\r\na=ice-options:trickle\r\na=fingerprint:sha-256 97:0B:B0:B5:C4:19:FC:99:5C:D6:8F:FE:44:1D:ED:84:DF:AD:D3:E6:DC:B4:22:E2:62:F7:19:C7:56:3B:C0:AA\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"c59c3022-30a2-4713-842d-6db2868d938e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"device":"c59c3022-30a2-4713-842d-6db2868d938e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"e5041995-a362-452b-8b93-13805db1b130","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"42a2d091-9475-4fb5-96d8-fccb155b7ffb","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e5041995-a362-452b-8b93-13805db1b130","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e5041995-a362-452b-8b93-13805db1b130","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e5041995-a362-452b-8b93-13805db1b130","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e5041995-a362-452b-8b93-13805db1b130","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/42a2d091-9475-4fb5-96d8-fccb155b7ffb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"42a2d091-9475-4fb5-96d8-fccb155b7ffb","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4bce31d3f10ac4b337c072e8e0afbf80","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4bce31d3f10ac4b337c072e8e0afbf80","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/e5041995-a362-452b-8b93-13805db1b130"},{"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/c59c3022-30a2-4713-842d-6db2868d938e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/42a2d091-9475-4fb5-96d8-fccb155b7ffb"}}},"level":"info","message":"received a callback","requestID":"4bce31d3f10ac4b337c072e8e0afbf80"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"4bce31d3f10ac4b337c072e8e0afbf80","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"4bce31d3f10ac4b337c072e8e0afbf80"} device-1 | {"content":{"candidate":"candidate:554121437 1 udp 2113937151 351a9dc9-fbe3-41d6-a3a2-fe50e25de4fe.local 56550 typ host generation 0 ufrag Gb3B network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"c59c3022-30a2-4713-842d-6db2868d938e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:56211024 1 udp 1677729535 141.24.211.56 56550 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag Gb3B network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"c59c3022-30a2-4713-842d-6db2868d938e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:619861026 1 udp 33562623 141.24.210.113 62183 typ relay raddr 141.24.211.56 rport 56550 generation 0 ufrag Gb3B network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"c59c3022-30a2-4713-842d-6db2868d938e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"c59c3022-30a2-4713-842d-6db2868d938e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e'"} device-1 | {"data":{"peerconnection":"42a2d091-9475-4fb5-96d8-fccb155b7ffb","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e5041995-a362-452b-8b93-13805db1b130","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c59c3022-30a2-4713-842d-6db2868d938e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"e5041995-a362-452b-8b93-13805db1b130","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"42a2d091-9475-4fb5-96d8-fccb155b7ffb","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/42a2d091-9475-4fb5-96d8-fccb155b7ffb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"42a2d091-9475-4fb5-96d8-fccb155b7ffb","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8d909a5d523be0a7c15ae88fd62d407b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8d909a5d523be0a7c15ae88fd62d407b","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/e5041995-a362-452b-8b93-13805db1b130"},{"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/c59c3022-30a2-4713-842d-6db2868d938e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/42a2d091-9475-4fb5-96d8-fccb155b7ffb"}}},"level":"info","message":"received a callback","requestID":"8d909a5d523be0a7c15ae88fd62d407b"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"cb05d210-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:22Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F42a2d091-9475-4fb5-96d8-fccb155b7ffb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e39b6d59-6140-4123-bf60-18825335909d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216182.7111285} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.028421,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/42a2d091-9475-4fb5-96d8-fccb155b7ffb","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cb05d210-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/42a2d091-9475-4fb5-96d8-fccb155b7ffb","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","method":"POST","requestID":"cb05d210-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"cb05d210-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/42a2d091-9475-4fb5-96d8-fccb155b7ffb 200 11ms","method":"GET","requestID":"cb05d210-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/peerconnections/42a2d091-9475-4fb5-96d8-fccb155b7ffb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"8d909a5d523be0a7c15ae88fd62d407b","responseTime":37,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cb0a8d00-4430-11ef-b47c-55a12d3fdb12"} gateway-1 | {"time_local":"17/Jul/2024:11:36:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"8d909a5d523be0a7c15ae88fd62d407b"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:22Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61eb6556-ec00-4e26-9552-b17a049dbad4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216182.743894} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.61812,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cb0a8d00-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"cb0a8d00-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cb0a8d00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/e5041995-a362-452b-8b93-13805db1b130/signaling 200 12ms","method":"POST","requestID":"cb0a8d00-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/e5041995-a362-452b-8b93-13805db1b130/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cb0cafe0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:22Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc59c3022-30a2-4713-842d-6db2868d938e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4d7048db-5371-4a32-b6b1-fa7bf366b6de","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216182.755392} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.775153,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cb0cafe0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cb0cafe0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cb0cafe0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/c59c3022-30a2-4713-842d-6db2868d938e/signaling 200 10ms","method":"POST","requestID":"cb0cafe0-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/c59c3022-30a2-4713-842d-6db2868d938e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4Mn0.9zgZADUGobWR7Jtwrk_P4IDRh1r0AAXcXd6QsK6Q6oc","level":"info","message":"auth send jwt","requestID":"359d8bc09283738b7091c47e2849eb0e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"359d8bc09283738b7091c47e2849eb0e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a369175a-b559-4b25-b93e-78bba5288750","requestID":"359d8bc09283738b7091c47e2849eb0e"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.043931,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"359d8bc09283738b7091c47e2849eb0e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216182,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4Mn0.9zgZADUGobWR7Jtwrk_P4IDRh1r0AAXcXd6QsK6Q6oc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"359d8bc09283738b7091c47e2849eb0e","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/a369175a-b559-4b25-b93e-78bba5288750","requestID":"359d8bc09283738b7091c47e2849eb0e"} gateway-1 | {"time_local":"17/Jul/2024:11:36:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a369175a-b559-4b25-b93e-78bba5288750 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"359d8bc09283738b7091c47e2849eb0e"} experiment-1 | {"level":"info","message":"GET /experiments/a369175a-b559-4b25-b93e-78bba5288750 200 11ms","method":"GET","requestID":"359d8bc09283738b7091c47e2849eb0e","responseTime":11,"status":200,"url":"/experiments/a369175a-b559-4b25-b93e-78bba5288750"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4Mn0.9zgZADUGobWR7Jtwrk_P4IDRh1r0AAXcXd6QsK6Q6oc","level":"info","message":"auth send jwt","requestID":"7ef4a08e95267f2629243a0c8f672854"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7ef4a08e95267f2629243a0c8f672854","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a369175a-b559-4b25-b93e-78bba5288750","requestID":"7ef4a08e95267f2629243a0c8f672854"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.960767,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"7ef4a08e95267f2629243a0c8f672854","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216182,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4Mn0.9zgZADUGobWR7Jtwrk_P4IDRh1r0AAXcXd6QsK6Q6oc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7ef4a08e95267f2629243a0c8f672854","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750"},"level":"info","message":"Attempting to finish experiment","requestID":"7ef4a08e95267f2629243a0c8f672854"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"cb175e40-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.022386,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/42a2d091-9475-4fb5-96d8-fccb155b7ffb","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cb175e40-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/42a2d091-9475-4fb5-96d8-fccb155b7ffb","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216182,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4Mn0.9zgZADUGobWR7Jtwrk_P4IDRh1r0AAXcXd6QsK6Q6oc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cb175e40-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/42a2d091-9475-4fb5-96d8-fccb155b7ffb","device":"c59c3022-30a2-4713-842d-6db2868d938e","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"e5041995-a362-452b-8b93-13805db1b130","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e5041995-a362-452b-8b93-13805db1b130","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"e5041995-a362-452b-8b93-13805db1b130","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/42a2d091-9475-4fb5-96d8-fccb155b7ffb' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/42a2d091-9475-4fb5-96d8-fccb155b7ffb' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"42a2d091-9475-4fb5-96d8-fccb155b7ffb","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"99ec587e3261a8c138fd96a8439fdcc3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"99ec587e3261a8c138fd96a8439fdcc3","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"834c8a8b18c114dbd7c2d6608b008afa","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"834c8a8b18c114dbd7c2d6608b008afa","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":"closed","url":"http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130"},{"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/c59c3022-30a2-4713-842d-6db2868d938e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/42a2d091-9475-4fb5-96d8-fccb155b7ffb"}}},"level":"info","message":"received a callback","requestID":"99ec587e3261a8c138fd96a8439fdcc3"} 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/e5041995-a362-452b-8b93-13805db1b130"},{"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/c59c3022-30a2-4713-842d-6db2868d938e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/42a2d091-9475-4fb5-96d8-fccb155b7ffb"}}},"level":"info","message":"received a callback","requestID":"834c8a8b18c114dbd7c2d6608b008afa"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F42a2d091-9475-4fb5-96d8-fccb155b7ffb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F42a2d091-9475-4fb5-96d8-fccb155b7ffb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"8c5ae42f-f941-4e7a-a272-31a27b6d8edc","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216182.842422} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dbb8c2f2-7137-4e7b-97da-00bd2f4c635b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216182.8426917} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"cb175e40-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"42a2d091-9475-4fb5-96d8-fccb155b7ffb","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"cb175e40-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/42a2d091-9475-4fb5-96d8-fccb155b7ffb 204 40ms","method":"DELETE","requestID":"cb175e40-4430-11ef-b47c-55a12d3fdb12","responseTime":40,"status":204,"url":"/peerconnections/42a2d091-9475-4fb5-96d8-fccb155b7ffb"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a369175a-b559-4b25-b93e-78bba5288750"},"level":"info","message":"Successfully finished experiment","requestID":"7ef4a08e95267f2629243a0c8f672854"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cb205ef0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:22Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5041995-a362-452b-8b93-13805db1b130","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d1e13d1-b067-4060-8e2a-be8992a12ed2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216182.8873363} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.671366,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cb205ef0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"cb205ef0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cb205ef0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/e5041995-a362-452b-8b93-13805db1b130/signaling 200 13ms","method":"POST","requestID":"cb205ef0-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/e5041995-a362-452b-8b93-13805db1b130/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa369175a-b559-4b25-b93e-78bba5288750': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa369175a-b559-4b25-b93e-78bba5288750","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"19e59a04-0a44-4632-8a91-f1e13de1a329","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216182.8938289} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5a1a11bf-26ed-4fac-99c9-9203f0f82b9c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216182.894342} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cb22cff0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"7ef4a08e95267f2629243a0c8f672854","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:22Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc59c3022-30a2-4713-842d-6db2868d938e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8717ba5-3956-4261-9bc0-67ab86c43dd6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216182.8997295} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.823826,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cb22cff0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cb22cff0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cb22cff0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/c59c3022-30a2-4713-842d-6db2868d938e/signaling 200 10ms","method":"POST","requestID":"cb22cff0-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/c59c3022-30a2-4713-842d-6db2868d938e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a369175a-b559-4b25-b93e-78bba5288750","requestID":"7ef4a08e95267f2629243a0c8f672854"} gateway-1 | {"time_local":"17/Jul/2024:11:36:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a369175a-b559-4b25-b93e-78bba5288750 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":"7ef4a08e95267f2629243a0c8f672854"} experiment-1 | {"level":"info","message":"DELETE /experiments/a369175a-b559-4b25-b93e-78bba5288750 204 151ms","method":"DELETE","requestID":"7ef4a08e95267f2629243a0c8f672854","responseTime":151,"status":204,"url":"/experiments/a369175a-b559-4b25-b93e-78bba5288750"} gateway-1 | {"time_local":"17/Jul/2024:11:36:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3188","request_time":"4.155","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4c96091adc421414680dcae2375a702b"} gateway-1 | {"time_local":"17/Jul/2024:11:36:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"99ec587e3261a8c138fd96a8439fdcc3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 122ms","method":"POST","requestID":"99ec587e3261a8c138fd96a8439fdcc3","responseTime":122,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"834c8a8b18c114dbd7c2d6608b008afa","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.126","http_referrer":"","http_user_agent":"node-fetch","requestID":"834c8a8b18c114dbd7c2d6608b008afa"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4Mn0.9zgZADUGobWR7Jtwrk_P4IDRh1r0AAXcXd6QsK6Q6oc","level":"info","message":"auth send jwt","requestID":"b0e614e17db7c3ea7dcf4774e3183a55"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b0e614e17db7c3ea7dcf4774e3183a55","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b0e614e17db7c3ea7dcf4774e3183a55"} gateway-1 | {"time_local":"17/Jul/2024:11:36:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2704","request_time":"2.685","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"79592accfa232d1df30d3d8316a54660"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:22Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.939578,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b0e614e17db7c3ea7dcf4774e3183a55","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216182,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4Mn0.9zgZADUGobWR7Jtwrk_P4IDRh1r0AAXcXd6QsK6Q6oc"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b0e614e17db7c3ea7dcf4774e3183a55","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e5041995-a362-452b-8b93-13805db1b130' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c59c3022-30a2-4713-842d-6db2868d938e' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f37bea6d-bc94-4eeb-8b87-da64126b1e82","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216182.987921} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b0e614e17db7c3ea7dcf4774e3183a55","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e2dd92be-10e1-44bd-8e8b-18558111e92d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216182.9926324} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"b0e614e17db7c3ea7dcf4774e3183a55","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"3d4b206c-cd1c-4f75-b4b8-b1bf2ad910cf","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216183.0026507} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c921ab4d-45ef-4463-be75-147d8b6fa49e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216183.0029414} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"b0e614e17db7c3ea7dcf4774e3183a55","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:23.002620671Z"}]},"request_id":"f3b9b281-d0ef-438e-8dc3-642be7453a97","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216183.0074532} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b0e614e17db7c3ea7dcf4774e3183a55","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b0e614e17db7c3ea7dcf4774e3183a55"} gateway-1 | {"time_local":"17/Jul/2024:11:36:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b0e614e17db7c3ea7dcf4774e3183a55"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"b0e614e17db7c3ea7dcf4774e3183a55","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4M30.JcmKvJ3DZsx3OHypuGPbEo_CHdBo_FDzFpWNQyk7BnY","level":"info","message":"auth send jwt","requestID":"2e054e6c19a357239f5f5ad85ec3afbb"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2e054e6c19a357239f5f5ad85ec3afbb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2e054e6c19a357239f5f5ad85ec3afbb"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:23Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.753083,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"2e054e6c19a357239f5f5ad85ec3afbb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216183,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4M30.JcmKvJ3DZsx3OHypuGPbEo_CHdBo_FDzFpWNQyk7BnY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2e054e6c19a357239f5f5ad85ec3afbb","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F347cc0fa-cdfd-4444-94af-2ca3ba25acad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3bf82a7d-9096-4188-848c-3208638e60c7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216183.0355113} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2e054e6c19a357239f5f5ad85ec3afbb","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a31430d8-93de-4a76-ad75-056af9b747fe","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216183.040719} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"2e054e6c19a357239f5f5ad85ec3afbb","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F347cc0fa-cdfd-4444-94af-2ca3ba25acad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"ad51ca70-3721-4c0d-b029-85877e4b3fa0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216183.0513048} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4b114a6-f678-46bf-a5bb-59316a1f62dd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216183.0515459} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"2e054e6c19a357239f5f5ad85ec3afbb","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F347cc0fa-cdfd-4444-94af-2ca3ba25acad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F347cc0fa-cdfd-4444-94af-2ca3ba25acad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:23.051270929Z"}]},"request_id":"96fe9ccd-20d4-406f-92b9-0bda61e5ee7d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216183.055469} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2e054e6c19a357239f5f5ad85ec3afbb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2e054e6c19a357239f5f5ad85ec3afbb"} gateway-1 | {"time_local":"17/Jul/2024:11:36:23 +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":"2e054e6c19a357239f5f5ad85ec3afbb"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"2e054e6c19a357239f5f5ad85ec3afbb","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4M30.JcmKvJ3DZsx3OHypuGPbEo_CHdBo_FDzFpWNQyk7BnY","level":"info","message":"auth send jwt","requestID":"4274e2884a328b4b39b08fcc3eef7d74"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4274e2884a328b4b39b08fcc3eef7d74","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"4274e2884a328b4b39b08fcc3eef7d74"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:23Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.061759,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"4274e2884a328b4b39b08fcc3eef7d74","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216183,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4M30.JcmKvJ3DZsx3OHypuGPbEo_CHdBo_FDzFpWNQyk7BnY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4274e2884a328b4b39b08fcc3eef7d74","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:23.002620671Z"}]},"request_id":"cac0dc81-bd2b-4fb8-9cf7-a42f30e6f57d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216183.5483005} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4274e2884a328b4b39b08fcc3eef7d74","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1384c8c2-5288-46ff-a7b2-ff1c7c054d7f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216183.55463} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"4274e2884a328b4b39b08fcc3eef7d74","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:23.002620671Z"}]},"request_id":"263b66f0-818b-44b1-96b4-7bd2bb34199a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216183.5661757} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4274e2884a328b4b39b08fcc3eef7d74","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"4274e2884a328b4b39b08fcc3eef7d74"} gateway-1 | {"time_local":"17/Jul/2024:11:36:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/652daf12-4e7c-4345-a692-662457414d5f 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":"4274e2884a328b4b39b08fcc3eef7d74"} device-1 | {"level":"info","message":"PATCH /devices/652daf12-4e7c-4345-a692-662457414d5f 200 32ms","method":"PATCH","requestID":"4274e2884a328b4b39b08fcc3eef7d74","responseTime":32,"status":200,"url":"/devices/652daf12-4e7c-4345-a692-662457414d5f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4M30.JcmKvJ3DZsx3OHypuGPbEo_CHdBo_FDzFpWNQyk7BnY","level":"info","message":"auth send jwt","requestID":"a34ef2e7501626824a2524cb9c573f78"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a34ef2e7501626824a2524cb9c573f78","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a34ef2e7501626824a2524cb9c573f78"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:23Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.086666,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a34ef2e7501626824a2524cb9c573f78","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216183,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4M30.JcmKvJ3DZsx3OHypuGPbEo_CHdBo_FDzFpWNQyk7BnY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a34ef2e7501626824a2524cb9c573f78","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a34ef2e7501626824a2524cb9c573f78"} device-1 | {"level":"info","message":"POST /devices/652daf12-4e7c-4345-a692-662457414d5f/websocket 200 19ms","method":"POST","requestID":"a34ef2e7501626824a2524cb9c573f78","responseTime":19,"status":200,"url":"/devices/652daf12-4e7c-4345-a692-662457414d5f/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:36:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/652daf12-4e7c-4345-a692-662457414d5f/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":"a34ef2e7501626824a2524cb9c573f78"} device-1 | {"level":"info","message":"device 'http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3647bd36791b0013b8c47dc7d8cfbb35","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3647bd36791b0013b8c47dc7d8cfbb35","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:36:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad/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":"3647bd36791b0013b8c47dc7d8cfbb35"} device-1 | {"level":"info","message":"OPTIONS /devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad/websocket 200 1ms","method":"OPTIONS","requestID":"3647bd36791b0013b8c47dc7d8cfbb35","responseTime":1,"status":200,"url":"/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4NX0.JLLB_H-qo1BfiM6LM49lBFF-qPl_TehM114T9l3zJ84","level":"info","message":"auth send jwt","requestID":"40ff6633b5531febba4fc8d0b13f5f3a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"40ff6633b5531febba4fc8d0b13f5f3a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"40ff6633b5531febba4fc8d0b13f5f3a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.134484,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"40ff6633b5531febba4fc8d0b13f5f3a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216185,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4NX0.JLLB_H-qo1BfiM6LM49lBFF-qPl_TehM114T9l3zJ84"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"40ff6633b5531febba4fc8d0b13f5f3a","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"40ff6633b5531febba4fc8d0b13f5f3a"} gateway-1 | {"time_local":"17/Jul/2024:11:36:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad/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":"40ff6633b5531febba4fc8d0b13f5f3a"} device-1 | {"level":"info","message":"POST /devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad/websocket 200 22ms","method":"POST","requestID":"40ff6633b5531febba4fc8d0b13f5f3a","responseTime":22,"status":200,"url":"/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4NX0.JLLB_H-qo1BfiM6LM49lBFF-qPl_TehM114T9l3zJ84","level":"info","message":"auth send jwt","requestID":"5d8a96dc6a5cfd0afcdda2c9a347598b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5d8a96dc6a5cfd0afcdda2c9a347598b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5d8a96dc6a5cfd0afcdda2c9a347598b"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.205259,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"5d8a96dc6a5cfd0afcdda2c9a347598b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216185,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4NX0.JLLB_H-qo1BfiM6LM49lBFF-qPl_TehM114T9l3zJ84"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5d8a96dc6a5cfd0afcdda2c9a347598b","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:23.002620671Z"}]},"request_id":"bc0df109-6cf0-4632-920e-8504fc04293f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216185.1034534} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5d8a96dc6a5cfd0afcdda2c9a347598b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5d8a96dc6a5cfd0afcdda2c9a347598b"} gateway-1 | {"time_local":"17/Jul/2024:11:36:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/652daf12-4e7c-4345-a692-662457414d5f? 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":"5d8a96dc6a5cfd0afcdda2c9a347598b"} device-1 | {"level":"info","message":"GET /devices/652daf12-4e7c-4345-a692-662457414d5f? 200 17ms","method":"GET","requestID":"5d8a96dc6a5cfd0afcdda2c9a347598b","responseTime":17,"status":200,"url":"/devices/652daf12-4e7c-4345-a692-662457414d5f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4NX0.JLLB_H-qo1BfiM6LM49lBFF-qPl_TehM114T9l3zJ84","level":"info","message":"auth send jwt","requestID":"eabc7366c02ea17642fa8c4e325cdc80"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"eabc7366c02ea17642fa8c4e325cdc80","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eabc7366c02ea17642fa8c4e325cdc80"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.2092,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"eabc7366c02ea17642fa8c4e325cdc80","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216185,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4NX0.JLLB_H-qo1BfiM6LM49lBFF-qPl_TehM114T9l3zJ84"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"eabc7366c02ea17642fa8c4e325cdc80","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F347cc0fa-cdfd-4444-94af-2ca3ba25acad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F347cc0fa-cdfd-4444-94af-2ca3ba25acad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:23.051270929Z"}]},"request_id":"a1f5be55-0847-464f-ad22-27fc854dd2e3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216185.127751} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"eabc7366c02ea17642fa8c4e325cdc80","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eabc7366c02ea17642fa8c4e325cdc80"} gateway-1 | {"time_local":"17/Jul/2024:11:36:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad? 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":"eabc7366c02ea17642fa8c4e325cdc80"} device-1 | {"level":"info","message":"GET /devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad? 200 17ms","method":"GET","requestID":"eabc7366c02ea17642fa8c4e325cdc80","responseTime":17,"status":200,"url":"/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4NX0.JLLB_H-qo1BfiM6LM49lBFF-qPl_TehM114T9l3zJ84","level":"info","message":"auth send jwt","requestID":"db8afe80b398832e609f1111047fb822"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"db8afe80b398832e609f1111047fb822","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"db8afe80b398832e609f1111047fb822"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":2.948167,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"db8afe80b398832e609f1111047fb822","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216185,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4NX0.JLLB_H-qo1BfiM6LM49lBFF-qPl_TehM114T9l3zJ84"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"db8afe80b398832e609f1111047fb822","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332"},"level":"info","message":"Attempting to run experiment","requestID":"db8afe80b398832e609f1111047fb822"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332"},"level":"info","message":"Attempting to book experiment","requestID":"db8afe80b398832e609f1111047fb822"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332"},"level":"info","message":"Successfully booked experiment","requestID":"db8afe80b398832e609f1111047fb822"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cc814e80-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cc819ca0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.169028,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cc814e80-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216185,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4NX0.JLLB_H-qo1BfiM6LM49lBFF-qPl_TehM114T9l3zJ84"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cc814e80-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.607319,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cc819ca0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216185,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4NX0.JLLB_H-qo1BfiM6LM49lBFF-qPl_TehM114T9l3zJ84"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cc819ca0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:23.002620671Z"}]},"request_id":"5f92c33f-9011-49c1-9192-6e33532d1256","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216185.204038} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"cc814e80-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F347cc0fa-cdfd-4444-94af-2ca3ba25acad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F347cc0fa-cdfd-4444-94af-2ca3ba25acad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:23.051270929Z"}]},"request_id":"1b333360-dd0c-417c-8734-0fb1e2071054","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216185.2052279} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cc819ca0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cc814e80-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/652daf12-4e7c-4345-a692-662457414d5f? 200 20ms","method":"GET","requestID":"cc814e80-4430-11ef-b47c-55a12d3fdb12","responseTime":20,"status":200,"url":"/devices/652daf12-4e7c-4345-a692-662457414d5f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cc819ca0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad? 200 19ms","method":"GET","requestID":"cc819ca0-4430-11ef-b47c-55a12d3fdb12","responseTime":19,"status":200,"url":"/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332"},"level":"info","message":"Setting up experiment","requestID":"db8afe80b398832e609f1111047fb822"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"db8afe80b398832e609f1111047fb822"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332"},"level":"info","message":"Successfully locked booking for experiment","requestID":"db8afe80b398832e609f1111047fb822"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"db8afe80b398832e609f1111047fb822"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"db8afe80b398832e609f1111047fb822"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332"},"level":"info","message":"Attempting to update booking for experiment","requestID":"db8afe80b398832e609f1111047fb822"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332"},"level":"info","message":"Successfully updated booking for experiment","requestID":"db8afe80b398832e609f1111047fb822"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332"},"level":"info","message":"Successfully set up experiment","requestID":"db8afe80b398832e609f1111047fb822"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cc8c7210-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cc8ce740-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:25Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc8d3560-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.890129,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:25Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332"},"level":"info","message":"Successfully running experiment","requestID":"db8afe80b398832e609f1111047fb822"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cc8c7210-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216185,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4NX0.JLLB_H-qo1BfiM6LM49lBFF-qPl_TehM114T9l3zJ84"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cc8c7210-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.133082,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cc8ce740-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216185,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4NX0.JLLB_H-qo1BfiM6LM49lBFF-qPl_TehM114T9l3zJ84"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cc8ce740-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.347853,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f4158403-512f-424f-895b-80fc5a009076","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216185.2779686} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cc8d3560-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"cc8d3560-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:23.002620671Z"}]},"request_id":"e39911d4-5314-46c1-9c29-aad313356dfb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216185.28112} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F347cc0fa-cdfd-4444-94af-2ca3ba25acad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F347cc0fa-cdfd-4444-94af-2ca3ba25acad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:23.051270929Z"}]},"request_id":"4c7aae28-dc0f-486a-abbd-0d1ed0331e46","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216185.2820797} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"cc8c7210-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cc8ce740-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc8d3560-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/652daf12-4e7c-4345-a692-662457414d5f/signaling 200 20ms","method":"POST","requestID":"cc8d3560-4430-11ef-b47c-55a12d3fdb12","responseTime":20,"status":200,"url":"/devices/652daf12-4e7c-4345-a692-662457414d5f/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cc8c7210-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/652daf12-4e7c-4345-a692-662457414d5f? 200 27ms","method":"GET","requestID":"cc8c7210-4430-11ef-b47c-55a12d3fdb12","responseTime":27,"status":200,"url":"/devices/652daf12-4e7c-4345-a692-662457414d5f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cc8ce740-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad? 200 26ms","method":"GET","requestID":"cc8ce740-4430-11ef-b47c-55a12d3fdb12","responseTime":26,"status":200,"url":"/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc9105f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc917b20-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7934686a-e399-4ac0-8727-633a4518a332#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7934686a-e399-4ac0-8727-633a4518a332","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"19d0650e-a8f1-408a-99cc-6a5110102c67","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216185.2979434} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3b939bb-cbe3-4273-8a5c-7abc31c259c3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216185.2980664} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"db8afe80b398832e609f1111047fb822","responseTime":24,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F347cc0fa-cdfd-4444-94af-2ca3ba25acad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cb88d36a-a4f3-429d-9f5d-9ba4feec75a7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216185.3009613} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.080396,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cc9105f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"cc9105f0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"06a38f6f-c650-4e59-aa87-1074fd039a82","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216185.305399} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.941807,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cc917b20-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","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","requestID":"cc9105f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad/signaling 200 12ms","method":"POST","requestID":"cc9105f0-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cc917b20-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"db8afe80b398832e609f1111047fb822"} gateway-1 | {"time_local":"17/Jul/2024:11:36:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"db8afe80b398832e609f1111047fb822"} experiment-1 | {"level":"info","message":"POST /experiments? 201 166ms","method":"POST","requestID":"db8afe80b398832e609f1111047fb822","responseTime":166,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc917b20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/652daf12-4e7c-4345-a692-662457414d5f/signaling 200 13ms","method":"POST","requestID":"cc917b20-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/652daf12-4e7c-4345-a692-662457414d5f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4NX0.JLLB_H-qo1BfiM6LM49lBFF-qPl_TehM114T9l3zJ84","level":"info","message":"auth send jwt","requestID":"25045f51c21a15ea46d5781e0b1f428c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc93ec20-4430-11ef-b47c-55a12d3fdb12"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"25045f51c21a15ea46d5781e0b1f428c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"25045f51c21a15ea46d5781e0b1f428c"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"client_addr":"127.0.0.1:60260","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.878403,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F347cc0fa-cdfd-4444-94af-2ca3ba25acad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dc84eba0-7870-4283-bf29-299986d77e27","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216185.3193312} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"25045f51c21a15ea46d5781e0b1f428c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216185,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4NX0.JLLB_H-qo1BfiM6LM49lBFF-qPl_TehM114T9l3zJ84"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"25045f51c21a15ea46d5781e0b1f428c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.959313,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cc93ec20-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"cc93ec20-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:23.002620671Z"}]},"request_id":"5479c852-3045-4683-878b-9c36ffa5608e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216185.3243334} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc93ec20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad/signaling 200 11ms","method":"POST","requestID":"cc93ec20-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"25045f51c21a15ea46d5781e0b1f428c","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"db8afe80b398832e609f1111047fb822"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332"},"level":"info","message":"Building connection plan","requestID":"db8afe80b398832e609f1111047fb822"} 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":"b74ace15-a5f3-45dc-a3ee-b1144ef9448a"},{"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":"ef3c8d48-69ff-47e9-bdb6-8d7bbc7c8d0d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"07818117-ceb7-4862-9194-c8fdc5a06fd7"}]},"level":"info","message":"Built pairwise service configurations","requestID":"db8afe80b398832e609f1111047fb822"} 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/347cc0fa-cdfd-4444-94af-2ca3ba25acad"},{"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/652daf12-4e7c-4345-a692-662457414d5f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"db8afe80b398832e609f1111047fb822"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"25045f51c21a15ea46d5781e0b1f428c"} gateway-1 | {"time_local":"17/Jul/2024:11:36:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/652daf12-4e7c-4345-a692-662457414d5f? 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":"25045f51c21a15ea46d5781e0b1f428c"} device-1 | {"level":"info","message":"GET /devices/652daf12-4e7c-4345-a692-662457414d5f? 200 12ms","method":"GET","requestID":"25045f51c21a15ea46d5781e0b1f428c","responseTime":12,"status":200,"url":"/devices/652daf12-4e7c-4345-a692-662457414d5f?"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"cc960f00-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.768115,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:25Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4NX0.JLLB_H-qo1BfiM6LM49lBFF-qPl_TehM114T9l3zJ84","level":"info","message":"auth send jwt","requestID":"89447216c45a5c376b05e18dbfe2350b"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cc960f00-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216185,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4NX0.JLLB_H-qo1BfiM6LM49lBFF-qPl_TehM114T9l3zJ84"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cc960f00-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"89447216c45a5c376b05e18dbfe2350b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"89447216c45a5c376b05e18dbfe2350b"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.777034,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"89447216c45a5c376b05e18dbfe2350b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216185,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4NX0.JLLB_H-qo1BfiM6LM49lBFF-qPl_TehM114T9l3zJ84"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"89447216c45a5c376b05e18dbfe2350b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F347cc0fa-cdfd-4444-94af-2ca3ba25acad","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F347cc0fa-cdfd-4444-94af-2ca3ba25acad","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:23.051270929Z"}]},"request_id":"15708e0e-7174-4d1f-9795-1d492ba160d3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216185.3419728} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"89447216c45a5c376b05e18dbfe2350b","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"100a2f4c-6e3a-4fac-b71a-57f2d345f91b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216185.3432424} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a8ab1d5a-0452-4d82-8dec-78e8f97852fb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216185.3434153} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"cc960f00-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"89447216c45a5c376b05e18dbfe2350b"} gateway-1 | {"time_local":"17/Jul/2024:11:36:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad? 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":"89447216c45a5c376b05e18dbfe2350b"} device-1 | {"level":"info","message":"GET /devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad? 200 13ms","method":"GET","requestID":"89447216c45a5c376b05e18dbfe2350b","responseTime":13,"status":200,"url":"/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"cc960f00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"cc960f00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/db954eb3-b1df-4f66-a7a0-2299c7a1586d'","requestID":"cc960f00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/db954eb3-b1df-4f66-a7a0-2299c7a1586d'","requestID":"cc960f00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"cc960f00-4430-11ef-b47c-55a12d3fdb12"} 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":"cc960f00-4430-11ef-b47c-55a12d3fdb12","responseTime":30,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"cc960f00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/db954eb3-b1df-4f66-a7a0-2299c7a1586d","device":"347cc0fa-cdfd-4444-94af-2ca3ba25acad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","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"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"db8afe80b398832e609f1111047fb822"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc9ec190-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a3eb159-7b06-45ac-aace-35f1ee7d319e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216185.3900902} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.501714,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cc9ec190-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"cc9ec190-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc9ec190-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/652daf12-4e7c-4345-a692-662457414d5f/signaling 200 11ms","method":"POST","requestID":"cc9ec190-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/652daf12-4e7c-4345-a692-662457414d5f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cca0bd60-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"device":"347cc0fa-cdfd-4444-94af-2ca3ba25acad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"347cc0fa-cdfd-4444-94af-2ca3ba25acad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F347cc0fa-cdfd-4444-94af-2ca3ba25acad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ac38832-feb5-479f-a950-89174cbfed31","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216185.4028475} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.367931,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cca0bd60-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cca0bd60-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cca0bd60-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad/signaling 200 9ms","method":"POST","requestID":"cca0bd60-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad/signaling"} device-1 | {"device":"652daf12-4e7c-4345-a692-662457414d5f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"db954eb3-b1df-4f66-a7a0-2299c7a1586d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 633179461385158073 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:uDgH\r\na=ice-pwd:5Y2P8GPE8Zat+n1QZ3tqpI1t\r\na=ice-options:trickle\r\na=fingerprint:sha-256 1A:5F:08:CF:D9:3F:6F:DD:DC:21:A6:83:16:52:E8:09:38:23:B6:38:AB:0A:20:31:90:96:E5:91:2D:45:CF:EB\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"347cc0fa-cdfd-4444-94af-2ca3ba25acad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3640324966 1 udp 2113937151 db1e0cfc-6d4a-4833-bf61-4cc8b8553588.local 52239 typ host generation 0 ufrag uDgH network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"347cc0fa-cdfd-4444-94af-2ca3ba25acad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"347cc0fa-cdfd-4444-94af-2ca3ba25acad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:1272009333 1 udp 1677729535 141.24.211.56 52239 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag uDgH network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"347cc0fa-cdfd-4444-94af-2ca3ba25acad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/db954eb3-b1df-4f66-a7a0-2299c7a1586d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"db954eb3-b1df-4f66-a7a0-2299c7a1586d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"652daf12-4e7c-4345-a692-662457414d5f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"652daf12-4e7c-4345-a692-662457414d5f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"652daf12-4e7c-4345-a692-662457414d5f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"347cc0fa-cdfd-4444-94af-2ca3ba25acad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad'"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"17f4dcba387586fbafefbeca434228e9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"17f4dcba387586fbafefbeca434228e9","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/347cc0fa-cdfd-4444-94af-2ca3ba25acad"},{"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/652daf12-4e7c-4345-a692-662457414d5f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/db954eb3-b1df-4f66-a7a0-2299c7a1586d"}}},"level":"info","message":"received a callback","requestID":"17f4dcba387586fbafefbeca434228e9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"17f4dcba387586fbafefbeca434228e9","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:27 +0000","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":"17f4dcba387586fbafefbeca434228e9"} device-1 | {"data":{"peerconnection":"db954eb3-b1df-4f66-a7a0-2299c7a1586d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"652daf12-4e7c-4345-a692-662457414d5f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"347cc0fa-cdfd-4444-94af-2ca3ba25acad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"652daf12-4e7c-4345-a692-662457414d5f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"db954eb3-b1df-4f66-a7a0-2299c7a1586d","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"347cc0fa-cdfd-4444-94af-2ca3ba25acad","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/db954eb3-b1df-4f66-a7a0-2299c7a1586d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"db954eb3-b1df-4f66-a7a0-2299c7a1586d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"861e04bb5f3e6a71bad1ea9154861510","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"861e04bb5f3e6a71bad1ea9154861510","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad"},{"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/652daf12-4e7c-4345-a692-662457414d5f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/db954eb3-b1df-4f66-a7a0-2299c7a1586d"}}},"level":"info","message":"received a callback","requestID":"861e04bb5f3e6a71bad1ea9154861510"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"cde99110-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:27Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdb954eb3-b1df-4f66-a7a0-2299c7a1586d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a39aa04-b193-4e5b-b225-41f73fdf4360","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216187.5605452} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.955459,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/db954eb3-b1df-4f66-a7a0-2299c7a1586d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cde99110-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/db954eb3-b1df-4f66-a7a0-2299c7a1586d","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","method":"POST","requestID":"cde99110-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"cde99110-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/db954eb3-b1df-4f66-a7a0-2299c7a1586d 200 13ms","method":"GET","requestID":"cde99110-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/peerconnections/db954eb3-b1df-4f66-a7a0-2299c7a1586d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"861e04bb5f3e6a71bad1ea9154861510","responseTime":50,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch","requestID":"861e04bb5f3e6a71bad1ea9154861510"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cdf047d0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:27Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F347cc0fa-cdfd-4444-94af-2ca3ba25acad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0065cf5b-dc19-4fc1-b4cd-c8b99409e65a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216187.6041458} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.958698,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cdf047d0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"cdf047d0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cdf047d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad/signaling 200 13ms","method":"POST","requestID":"cdf047d0-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cdf2b8d0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:27Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1ede4813-0e40-47d8-9bc3-bd1bb6c93e2e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216187.6203866} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.822575,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cdf2b8d0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"cdf2b8d0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cdf2b8d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/652daf12-4e7c-4345-a692-662457414d5f/signaling 200 14ms","method":"POST","requestID":"cdf2b8d0-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/652daf12-4e7c-4345-a692-662457414d5f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4N30.CTCEQvmxqhHIuJa3Tby-M7VGE5I7GWgfDbH_OQm63Dk","level":"info","message":"auth send jwt","requestID":"0bfad20f5aaf672b424b7be7f4f1f35b"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0bfad20f5aaf672b424b7be7f4f1f35b","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7934686a-e399-4ac0-8727-633a4518a332","requestID":"0bfad20f5aaf672b424b7be7f4f1f35b"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.358577,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"0bfad20f5aaf672b424b7be7f4f1f35b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216187,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4N30.CTCEQvmxqhHIuJa3Tby-M7VGE5I7GWgfDbH_OQm63Dk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0bfad20f5aaf672b424b7be7f4f1f35b","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7934686a-e399-4ac0-8727-633a4518a332","requestID":"0bfad20f5aaf672b424b7be7f4f1f35b"} gateway-1 | {"time_local":"17/Jul/2024:11:36:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7934686a-e399-4ac0-8727-633a4518a332 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":"0bfad20f5aaf672b424b7be7f4f1f35b"} experiment-1 | {"level":"info","message":"GET /experiments/7934686a-e399-4ac0-8727-633a4518a332 200 15ms","method":"GET","requestID":"0bfad20f5aaf672b424b7be7f4f1f35b","responseTime":15,"status":200,"url":"/experiments/7934686a-e399-4ac0-8727-633a4518a332"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4N30.CTCEQvmxqhHIuJa3Tby-M7VGE5I7GWgfDbH_OQm63Dk","level":"info","message":"auth send jwt","requestID":"0c83a31cbd3df811b7c0f7a1aa232547"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0c83a31cbd3df811b7c0f7a1aa232547","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7934686a-e399-4ac0-8727-633a4518a332","requestID":"0c83a31cbd3df811b7c0f7a1aa232547"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.249067,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"0c83a31cbd3df811b7c0f7a1aa232547","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216187,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4N30.CTCEQvmxqhHIuJa3Tby-M7VGE5I7GWgfDbH_OQm63Dk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"0c83a31cbd3df811b7c0f7a1aa232547","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332"},"level":"info","message":"Attempting to finish experiment","requestID":"0c83a31cbd3df811b7c0f7a1aa232547"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"cdfe0370-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.354002,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:27Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/db954eb3-b1df-4f66-a7a0-2299c7a1586d","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cdfe0370-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/db954eb3-b1df-4f66-a7a0-2299c7a1586d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216187,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4N30.CTCEQvmxqhHIuJa3Tby-M7VGE5I7GWgfDbH_OQm63Dk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cdfe0370-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/db954eb3-b1df-4f66-a7a0-2299c7a1586d","device":"347cc0fa-cdfd-4444-94af-2ca3ba25acad","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"652daf12-4e7c-4345-a692-662457414d5f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"652daf12-4e7c-4345-a692-662457414d5f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"652daf12-4e7c-4345-a692-662457414d5f","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/db954eb3-b1df-4f66-a7a0-2299c7a1586d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/db954eb3-b1df-4f66-a7a0-2299c7a1586d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"db954eb3-b1df-4f66-a7a0-2299c7a1586d","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdb954eb3-b1df-4f66-a7a0-2299c7a1586d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdb954eb3-b1df-4f66-a7a0-2299c7a1586d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"697fe1b7-f578-4550-9802-67f5cfd6cc48","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216187.7121952} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7b00501896669ca1b37c4d8d80b66b1e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c8b4dfb-f331-4357-b596-c2fffa59d951","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216187.712885} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7b00501896669ca1b37c4d8d80b66b1e","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"cdfe0370-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/relations/update"} 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/347cc0fa-cdfd-4444-94af-2ca3ba25acad"},{"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/652daf12-4e7c-4345-a692-662457414d5f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/db954eb3-b1df-4f66-a7a0-2299c7a1586d"}}},"level":"info","message":"received a callback","requestID":"7b00501896669ca1b37c4d8d80b66b1e"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"70b817e3effea1c0b8e77d8a7c7573c8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"70b817e3effea1c0b8e77d8a7c7573c8","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":"connected","url":"http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad"},{"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/652daf12-4e7c-4345-a692-662457414d5f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/db954eb3-b1df-4f66-a7a0-2299c7a1586d"}}},"level":"info","message":"received a callback","requestID":"70b817e3effea1c0b8e77d8a7c7573c8"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"cdfe0370-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/db954eb3-b1df-4f66-a7a0-2299c7a1586d 204 43ms","method":"DELETE","requestID":"cdfe0370-4430-11ef-b47c-55a12d3fdb12","responseTime":43,"status":204,"url":"/peerconnections/db954eb3-b1df-4f66-a7a0-2299c7a1586d"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7934686a-e399-4ac0-8727-633a4518a332"},"level":"info","message":"Successfully finished experiment","requestID":"0c83a31cbd3df811b7c0f7a1aa232547"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ce08b1d0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:27Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F347cc0fa-cdfd-4444-94af-2ca3ba25acad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4b4f94c9-7b05-4eb1-9be7-3be62b3964c8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216187.7638228} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.072891,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ce08b1d0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"ce08b1d0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ce08b1d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad/signaling 200 13ms","method":"POST","requestID":"ce08b1d0-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7934686a-e399-4ac0-8727-633a4518a332': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7934686a-e399-4ac0-8727-633a4518a332","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"cc5e2718-292e-481c-93d6-244857ce714d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216187.7715833} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a2efb58-022b-4f32-8b56-43f5adb4d017","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216187.7718604} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ce0b49e0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"0c83a31cbd3df811b7c0f7a1aa232547","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:27Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F652daf12-4e7c-4345-a692-662457414d5f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33315075-5d74-4f27-98ca-15a1397f0016","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216187.780814} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.927637,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ce0b49e0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"ce0b49e0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ce0b49e0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/652daf12-4e7c-4345-a692-662457414d5f/signaling 200 14ms","method":"POST","requestID":"ce0b49e0-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/652daf12-4e7c-4345-a692-662457414d5f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7934686a-e399-4ac0-8727-633a4518a332","requestID":"0c83a31cbd3df811b7c0f7a1aa232547"} gateway-1 | {"time_local":"17/Jul/2024:11:36:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7934686a-e399-4ac0-8727-633a4518a332 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.172","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0c83a31cbd3df811b7c0f7a1aa232547"} gateway-1 | {"time_local":"17/Jul/2024:11:36:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2800","request_time":"4.242","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f18b30e4e0163d6eb307d0ec190095e5"} experiment-1 | {"level":"info","message":"DELETE /experiments/7934686a-e399-4ac0-8727-633a4518a332 204 168ms","method":"DELETE","requestID":"0c83a31cbd3df811b7c0f7a1aa232547","responseTime":168,"status":204,"url":"/experiments/7934686a-e399-4ac0-8727-633a4518a332"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 126ms","method":"POST","requestID":"7b00501896669ca1b37c4d8d80b66b1e","responseTime":126,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:27 +0000","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":"7b00501896669ca1b37c4d8d80b66b1e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 123ms","method":"POST","requestID":"70b817e3effea1c0b8e77d8a7c7573c8","responseTime":123,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:27 +0000","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":"70b817e3effea1c0b8e77d8a7c7573c8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4N30.CTCEQvmxqhHIuJa3Tby-M7VGE5I7GWgfDbH_OQm63Dk","level":"info","message":"auth send jwt","requestID":"978fb883a32285968cd43dce7711facf"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"978fb883a32285968cd43dce7711facf","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"978fb883a32285968cd43dce7711facf"} gateway-1 | {"time_local":"17/Jul/2024:11:36:27 +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.779","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1f2146a18e35a0af1ed4c68ea9bd303f"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.929224,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"978fb883a32285968cd43dce7711facf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216187,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4N30.CTCEQvmxqhHIuJa3Tby-M7VGE5I7GWgfDbH_OQm63Dk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"978fb883a32285968cd43dce7711facf","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/652daf12-4e7c-4345-a692-662457414d5f' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"45019e53-0d81-46b7-9e4a-bb4041390735","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216187.8659265} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"978fb883a32285968cd43dce7711facf","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/347cc0fa-cdfd-4444-94af-2ca3ba25acad' 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:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"900765d8-de54-40ae-8ed6-db279ac885a9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216187.8712888} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"978fb883a32285968cd43dce7711facf","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"01f9d8b1-00f8-4ac9-ac15-512de594a352","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216187.879668} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6cbb1eff-3fe6-442a-b349-b3db2d0e7576","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216187.8799508} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"978fb883a32285968cd43dce7711facf","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:27.879644143Z"}]},"request_id":"0319913e-8e2c-4443-af83-be48f8432d9a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216187.8836982} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"978fb883a32285968cd43dce7711facf","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"978fb883a32285968cd43dce7711facf"} gateway-1 | {"time_local":"17/Jul/2024:11:36:27 +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":"978fb883a32285968cd43dce7711facf"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"978fb883a32285968cd43dce7711facf","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4N30.CTCEQvmxqhHIuJa3Tby-M7VGE5I7GWgfDbH_OQm63Dk","level":"info","message":"auth send jwt","requestID":"107337061f3f8f3f08682b59a79e39a5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"107337061f3f8f3f08682b59a79e39a5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"107337061f3f8f3f08682b59a79e39a5"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:27Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.916143,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"107337061f3f8f3f08682b59a79e39a5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216187,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4N30.CTCEQvmxqhHIuJa3Tby-M7VGE5I7GWgfDbH_OQm63Dk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"107337061f3f8f3f08682b59a79e39a5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"86ac8437-67dc-4e95-90dc-30baf6f6e37b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216187.9059458} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"107337061f3f8f3f08682b59a79e39a5","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0370a5a4-1095-4be7-bf7c-62781c26d339","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216187.910407} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"107337061f3f8f3f08682b59a79e39a5","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"0cbccfe8-e691-4877-a953-bdb4091b0d13","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216187.925002} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"14c209a6-eb16-4096-8fcc-a108399a4c0a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216187.9251094} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"107337061f3f8f3f08682b59a79e39a5","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:27.924969568Z"}]},"request_id":"29761e60-89c9-4017-8f36-1a5c58a3bf87","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216187.929423} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"107337061f3f8f3f08682b59a79e39a5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"107337061f3f8f3f08682b59a79e39a5"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"107337061f3f8f3f08682b59a79e39a5","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"107337061f3f8f3f08682b59a79e39a5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4OH0.YucN455M2Xmtngdgp8KPoaxY3TYA3Yv6OpWOGPYdqEs","level":"info","message":"auth send jwt","requestID":"e7d2b210832137fc2f53ea6f48613595"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e7d2b210832137fc2f53ea6f48613595","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"e7d2b210832137fc2f53ea6f48613595"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.003062,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"e7d2b210832137fc2f53ea6f48613595","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216188,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4OH0.YucN455M2Xmtngdgp8KPoaxY3TYA3Yv6OpWOGPYdqEs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e7d2b210832137fc2f53ea6f48613595","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:27.879644143Z"}]},"request_id":"18f893de-1a87-4f65-83e2-3f52be2a8d2c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216188.4168978} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e7d2b210832137fc2f53ea6f48613595","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"281e785a-d979-40c8-adb1-1f814d8d38d0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216188.4214623} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"e7d2b210832137fc2f53ea6f48613595","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:27.879644143Z"}]},"request_id":"72d9a4fc-fae7-4d64-8d4d-91dd9041a01e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216188.437607} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e7d2b210832137fc2f53ea6f48613595","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"e7d2b210832137fc2f53ea6f48613595"} gateway-1 | {"time_local":"17/Jul/2024:11:36:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/87e84874-28c2-47e2-bb3f-df085b98e05e 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":"e7d2b210832137fc2f53ea6f48613595"} device-1 | {"level":"info","message":"PATCH /devices/87e84874-28c2-47e2-bb3f-df085b98e05e 200 33ms","method":"PATCH","requestID":"e7d2b210832137fc2f53ea6f48613595","responseTime":33,"status":200,"url":"/devices/87e84874-28c2-47e2-bb3f-df085b98e05e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4OH0.YucN455M2Xmtngdgp8KPoaxY3TYA3Yv6OpWOGPYdqEs","level":"info","message":"auth send jwt","requestID":"ecaeada7c2b7192b8e74969bf194e45f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ecaeada7c2b7192b8e74969bf194e45f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ecaeada7c2b7192b8e74969bf194e45f"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:28Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.691055,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ecaeada7c2b7192b8e74969bf194e45f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216188,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4OH0.YucN455M2Xmtngdgp8KPoaxY3TYA3Yv6OpWOGPYdqEs"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ecaeada7c2b7192b8e74969bf194e45f","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ecaeada7c2b7192b8e74969bf194e45f"} gateway-1 | {"time_local":"17/Jul/2024:11:36:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/87e84874-28c2-47e2-bb3f-df085b98e05e/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":"ecaeada7c2b7192b8e74969bf194e45f"} device-1 | {"level":"info","message":"POST /devices/87e84874-28c2-47e2-bb3f-df085b98e05e/websocket 200 19ms","method":"POST","requestID":"ecaeada7c2b7192b8e74969bf194e45f","responseTime":19,"status":200,"url":"/devices/87e84874-28c2-47e2-bb3f-df085b98e05e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"36c632e21849515268d60714af52be8d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"36c632e21849515268d60714af52be8d","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:36:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce/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":"36c632e21849515268d60714af52be8d"} device-1 | {"level":"info","message":"OPTIONS /devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce/websocket 200 1ms","method":"OPTIONS","requestID":"36c632e21849515268d60714af52be8d","responseTime":1,"status":200,"url":"/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4OX0.4aOu5BciFDUDuXfn5sBjI5_h7HI_GCWdUM2mr2BQvv0","level":"info","message":"auth send jwt","requestID":"baabb89cb2572d43393d153b8695919a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"baabb89cb2572d43393d153b8695919a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"baabb89cb2572d43393d153b8695919a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.284081,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:29Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"baabb89cb2572d43393d153b8695919a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216189,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4OX0.4aOu5BciFDUDuXfn5sBjI5_h7HI_GCWdUM2mr2BQvv0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"baabb89cb2572d43393d153b8695919a","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"baabb89cb2572d43393d153b8695919a"} gateway-1 | {"time_local":"17/Jul/2024:11:36:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce/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":"baabb89cb2572d43393d153b8695919a"} device-1 | {"level":"info","message":"POST /devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce/websocket 200 22ms","method":"POST","requestID":"baabb89cb2572d43393d153b8695919a","responseTime":22,"status":200,"url":"/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4OX0.4aOu5BciFDUDuXfn5sBjI5_h7HI_GCWdUM2mr2BQvv0","level":"info","message":"auth send jwt","requestID":"fd0a48fd000e5a658c251da687d4de5a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fd0a48fd000e5a658c251da687d4de5a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fd0a48fd000e5a658c251da687d4de5a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.29419,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"fd0a48fd000e5a658c251da687d4de5a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216189,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4OX0.4aOu5BciFDUDuXfn5sBjI5_h7HI_GCWdUM2mr2BQvv0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fd0a48fd000e5a658c251da687d4de5a","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:27.879644143Z"}]},"request_id":"5ff733a2-5c29-4564-a841-07515f54f3db","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216189.982375} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"fd0a48fd000e5a658c251da687d4de5a","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fd0a48fd000e5a658c251da687d4de5a"} gateway-1 | {"time_local":"17/Jul/2024:11:36:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/87e84874-28c2-47e2-bb3f-df085b98e05e? 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":"fd0a48fd000e5a658c251da687d4de5a"} device-1 | {"level":"info","message":"GET /devices/87e84874-28c2-47e2-bb3f-df085b98e05e? 200 17ms","method":"GET","requestID":"fd0a48fd000e5a658c251da687d4de5a","responseTime":17,"status":200,"url":"/devices/87e84874-28c2-47e2-bb3f-df085b98e05e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4OX0.4aOu5BciFDUDuXfn5sBjI5_h7HI_GCWdUM2mr2BQvv0","level":"info","message":"auth send jwt","requestID":"b73a293074fb8b9505ba8dff2b45be5d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b73a293074fb8b9505ba8dff2b45be5d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b73a293074fb8b9505ba8dff2b45be5d"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:29Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.195459,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b73a293074fb8b9505ba8dff2b45be5d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216189,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE4OX0.4aOu5BciFDUDuXfn5sBjI5_h7HI_GCWdUM2mr2BQvv0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b73a293074fb8b9505ba8dff2b45be5d","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:27.924969568Z"}]},"request_id":"3d4f7543-6eb6-4237-8ae4-806e8b6bf406","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216190.007897} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b73a293074fb8b9505ba8dff2b45be5d","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b73a293074fb8b9505ba8dff2b45be5d"} gateway-1 | {"time_local":"17/Jul/2024:11:36:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce? 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":"b73a293074fb8b9505ba8dff2b45be5d"} device-1 | {"level":"info","message":"GET /devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce? 200 17ms","method":"GET","requestID":"b73a293074fb8b9505ba8dff2b45be5d","responseTime":17,"status":200,"url":"/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5MH0.mIlZL1_s8hq5P5BDmE_O_ScaKiW4Akn6Kt7QqngQO9g","level":"info","message":"auth send jwt","requestID":"780a5880f741098f6ef48cddde285566"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"780a5880f741098f6ef48cddde285566","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"780a5880f741098f6ef48cddde285566"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.26724,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"780a5880f741098f6ef48cddde285566","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216190,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5MH0.mIlZL1_s8hq5P5BDmE_O_ScaKiW4Akn6Kt7QqngQO9g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"780a5880f741098f6ef48cddde285566","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e"},"level":"info","message":"Attempting to run experiment","requestID":"780a5880f741098f6ef48cddde285566"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e"},"level":"info","message":"Attempting to book experiment","requestID":"780a5880f741098f6ef48cddde285566"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e"},"level":"info","message":"Successfully booked experiment","requestID":"780a5880f741098f6ef48cddde285566"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cf69ef80-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cf6a1690-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.879887,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cf69ef80-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216190,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5MH0.mIlZL1_s8hq5P5BDmE_O_ScaKiW4Akn6Kt7QqngQO9g"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cf69ef80-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.463227,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cf6a1690-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216190,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5MH0.mIlZL1_s8hq5P5BDmE_O_ScaKiW4Akn6Kt7QqngQO9g"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"cf6a1690-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:27.879644143Z"}]},"request_id":"d5136707-f6c7-47b2-997e-d2f31a08d89a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216190.082706} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cf69ef80-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:27.924969568Z"}]},"request_id":"434801c6-5391-40b6-b6bc-f3fdfd222873","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216190.0869591} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cf69ef80-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cf6a1690-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/87e84874-28c2-47e2-bb3f-df085b98e05e? 200 16ms","method":"GET","requestID":"cf69ef80-4430-11ef-b47c-55a12d3fdb12","responseTime":16,"status":200,"url":"/devices/87e84874-28c2-47e2-bb3f-df085b98e05e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cf6a1690-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce? 200 19ms","method":"GET","requestID":"cf6a1690-4430-11ef-b47c-55a12d3fdb12","responseTime":19,"status":200,"url":"/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e"},"level":"info","message":"Setting up experiment","requestID":"780a5880f741098f6ef48cddde285566"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"780a5880f741098f6ef48cddde285566"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e"},"level":"info","message":"Successfully locked booking for experiment","requestID":"780a5880f741098f6ef48cddde285566"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"780a5880f741098f6ef48cddde285566"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"780a5880f741098f6ef48cddde285566"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e"},"level":"info","message":"Attempting to update booking for experiment","requestID":"780a5880f741098f6ef48cddde285566"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e"},"level":"info","message":"Successfully updated booking for experiment","requestID":"780a5880f741098f6ef48cddde285566"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e"},"level":"info","message":"Successfully set up experiment","requestID":"780a5880f741098f6ef48cddde285566"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cf74ec00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cf753a20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf756130-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e"},"level":"info","message":"Successfully running experiment","requestID":"780a5880f741098f6ef48cddde285566"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.944793,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cf74ec00-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216190,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5MH0.mIlZL1_s8hq5P5BDmE_O_ScaKiW4Akn6Kt7QqngQO9g"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cf74ec00-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.875481,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cf753a20-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216190,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5MH0.mIlZL1_s8hq5P5BDmE_O_ScaKiW4Akn6Kt7QqngQO9g"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cf753a20-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54872","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"client_addr":"127.0.0.1:54872","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.161619,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:27.924969568Z"}]},"request_id":"a01808fa-c712-4be5-ab5c-c7c53bf5a644","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216190.1578605} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"21e9507c-299d-4796-91dc-e62b775cf411","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216190.1580617} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:27.879644143Z"}]},"request_id":"58ee2b3e-e26b-4744-a8a1-6b7744776eea","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216190.1592698} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"cf753a20-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cf756130-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","method":"POST","requestID":"cf756130-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"cf74ec00-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee8fcb50-7e70-4362-a26f-5b492446f41e#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee8fcb50-7e70-4362-a26f-5b492446f41e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"d4c9f304-1331-4a3e-a72b-3d21aae0b4c7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216190.1687944} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a861a8ef-5bbf-4386-909f-46f037eeae44","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216190.1690674} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cf753a20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce? 200 25ms","method":"GET","requestID":"cf753a20-4430-11ef-b47c-55a12d3fdb12","responseTime":25,"status":200,"url":"/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf756130-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"780a5880f741098f6ef48cddde285566","responseTime":19,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"POST /devices/87e84874-28c2-47e2-bb3f-df085b98e05e/signaling 200 25ms","method":"POST","requestID":"cf756130-4430-11ef-b47c-55a12d3fdb12","responseTime":25,"status":200,"url":"/devices/87e84874-28c2-47e2-bb3f-df085b98e05e/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cf74ec00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/87e84874-28c2-47e2-bb3f-df085b98e05e? 200 29ms","method":"GET","requestID":"cf74ec00-4430-11ef-b47c-55a12d3fdb12","responseTime":29,"status":200,"url":"/devices/87e84874-28c2-47e2-bb3f-df085b98e05e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf79f510-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf7a6a40-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"780a5880f741098f6ef48cddde285566"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:30Z"} gateway-1 | {"time_local":"17/Jul/2024:11:36:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.169","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"780a5880f741098f6ef48cddde285566"} experiment-1 | {"level":"info","message":"POST /experiments? 201 161ms","method":"POST","requestID":"780a5880f741098f6ef48cddde285566","responseTime":161,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f6b76970-438c-459b-b978-ca0ab569cb9d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216190.1846945} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.694174,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cf79f510-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"cf79f510-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e0eeb8f3-3114-4e5e-8431-099f283b7095","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216190.1859677} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.864994,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cf7a6a40-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"cf7a6a40-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5MH0.mIlZL1_s8hq5P5BDmE_O_ScaKiW4Akn6Kt7QqngQO9g","level":"info","message":"auth send jwt","requestID":"85536c56212073a4c92b8c1b8f5e36cf"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"85536c56212073a4c92b8c1b8f5e36cf","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf79f510-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce/signaling 200 15ms","method":"POST","requestID":"cf79f510-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"85536c56212073a4c92b8c1b8f5e36cf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf7a6a40-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/87e84874-28c2-47e2-bb3f-df085b98e05e/signaling 200 18ms","method":"POST","requestID":"cf7a6a40-4430-11ef-b47c-55a12d3fdb12","responseTime":18,"status":200,"url":"/devices/87e84874-28c2-47e2-bb3f-df085b98e05e/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.050081,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"85536c56212073a4c92b8c1b8f5e36cf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216190,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5MH0.mIlZL1_s8hq5P5BDmE_O_ScaKiW4Akn6Kt7QqngQO9g"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf7d9e90-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"85536c56212073a4c92b8c1b8f5e36cf","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:27.879644143Z"}]},"request_id":"f7205b38-d149-423f-94e1-f74b6bacbec2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216190.206048} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f40d51a4-6956-4d0d-96d5-35ea3532419e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216190.2062364} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"85536c56212073a4c92b8c1b8f5e36cf","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.999119,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cf7d9e90-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cf7d9e90-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"85536c56212073a4c92b8c1b8f5e36cf"} gateway-1 | {"time_local":"17/Jul/2024:11:36:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/87e84874-28c2-47e2-bb3f-df085b98e05e? 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":"85536c56212073a4c92b8c1b8f5e36cf"} device-1 | {"level":"info","message":"GET /devices/87e84874-28c2-47e2-bb3f-df085b98e05e? 200 16ms","method":"GET","requestID":"85536c56212073a4c92b8c1b8f5e36cf","responseTime":16,"status":200,"url":"/devices/87e84874-28c2-47e2-bb3f-df085b98e05e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf7d9e90-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce/signaling 200 12ms","method":"POST","requestID":"cf7d9e90-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"780a5880f741098f6ef48cddde285566"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e"},"level":"info","message":"Building connection plan","requestID":"780a5880f741098f6ef48cddde285566"} 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":"78fc2fe4-aa4f-437f-be16-0fbf06f5e0c5"},{"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":"7aec4418-8c65-4bc3-87b9-dded81cc8a96"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"83a45de2-7113-4eb1-a583-db7985bcaf86"}]},"level":"info","message":"Built pairwise service configurations","requestID":"780a5880f741098f6ef48cddde285566"} 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/87e84874-28c2-47e2-bb3f-df085b98e05e"},{"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/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"780a5880f741098f6ef48cddde285566"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"cf7fe880-4430-11ef-b47c-55a12d3fdb12"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5MH0.mIlZL1_s8hq5P5BDmE_O_ScaKiW4Akn6Kt7QqngQO9g","level":"info","message":"auth send jwt","requestID":"8434f1bb2ca5272583bcd47b35dc67b6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8434f1bb2ca5272583bcd47b35dc67b6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8434f1bb2ca5272583bcd47b35dc67b6"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.249651,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cf7fe880-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216190,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5MH0.mIlZL1_s8hq5P5BDmE_O_ScaKiW4Akn6Kt7QqngQO9g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cf7fe880-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.764921,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"8434f1bb2ca5272583bcd47b35dc67b6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216190,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5MH0.mIlZL1_s8hq5P5BDmE_O_ScaKiW4Akn6Kt7QqngQO9g"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8434f1bb2ca5272583bcd47b35dc67b6","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:27.924969568Z"}]},"request_id":"0a17e31b-378e-49d0-8c73-008a9d9e5b11","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216190.2266529} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8434f1bb2ca5272583bcd47b35dc67b6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8434f1bb2ca5272583bcd47b35dc67b6"} gateway-1 | {"time_local":"17/Jul/2024:11:36:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce? 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":"8434f1bb2ca5272583bcd47b35dc67b6"} device-1 | {"level":"info","message":"GET /devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce? 200 13ms","method":"GET","requestID":"8434f1bb2ca5272583bcd47b35dc67b6","responseTime":13,"status":200,"url":"/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce?"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"00e26d24-c74e-479e-8bbe-778b2f2f7965","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216190.231574} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d50383be-823c-4d84-a6cf-26e261abe66d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216190.2319493} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"cf7fe880-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"cf7fe880-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"cf7fe880-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/355e1d2c-fcfd-4876-b550-2c7d77cfcf41'","requestID":"cf7fe880-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/355e1d2c-fcfd-4876-b550-2c7d77cfcf41'","requestID":"cf7fe880-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"cf7fe880-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 27ms","method":"POST","requestID":"cf7fe880-4430-11ef-b47c-55a12d3fdb12","responseTime":27,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"cf7fe880-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/355e1d2c-fcfd-4876-b550-2c7d77cfcf41","device":"0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","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"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"780a5880f741098f6ef48cddde285566"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf884cf0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8bc2821b-696a-4b57-89bc-31b87c0aedc6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216190.2759717} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.536066,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cf884cf0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"cf884cf0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf884cf0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/87e84874-28c2-47e2-bb3f-df085b98e05e/signaling 200 9ms","method":"POST","requestID":"cf884cf0-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/87e84874-28c2-47e2-bb3f-df085b98e05e/signaling"} device-1 | {"device":"0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf89faa0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"content":{"sdp":"v=0\r\no=- 4137487737212843799 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:xve8\r\na=ice-pwd:fUt6TM55KcRT8ZesGI8vf0Ea\r\na=ice-options:trickle\r\na=fingerprint:sha-256 73:BE:E9:04:0D:AC:A1:A7:C7:F1:C0:25:32:E3:2F:73:6A:FA:9E:64:05:4A:E4:B1:CB:0D:E7:5B:E3:CA:DF:6A\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:30Z"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce'"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d175fae-c32d-4662-be07-4b4ad529160e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216190.2875123} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.945168,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"cf89faa0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cf89faa0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf89faa0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce/signaling 200 9ms","method":"POST","requestID":"cf89faa0-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce/signaling"} device-1 | {"device":"0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"87e84874-28c2-47e2-bb3f-df085b98e05e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"355e1d2c-fcfd-4876-b550-2c7d77cfcf41","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"87e84874-28c2-47e2-bb3f-df085b98e05e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"87e84874-28c2-47e2-bb3f-df085b98e05e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"87e84874-28c2-47e2-bb3f-df085b98e05e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"87e84874-28c2-47e2-bb3f-df085b98e05e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/355e1d2c-fcfd-4876-b550-2c7d77cfcf41' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"355e1d2c-fcfd-4876-b550-2c7d77cfcf41","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4ca88869c7532e9fcdea256483c7d776","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4ca88869c7532e9fcdea256483c7d776","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e"},{"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/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/355e1d2c-fcfd-4876-b550-2c7d77cfcf41"}}},"level":"info","message":"received a callback","requestID":"4ca88869c7532e9fcdea256483c7d776"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"4ca88869c7532e9fcdea256483c7d776","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"4ca88869c7532e9fcdea256483c7d776"} device-1 | {"content":{"candidate":"candidate:1094144954 1 udp 2113937151 3dd48066-0c10-413f-ae22-36e1c4972737.local 33461 typ host generation 0 ufrag xve8 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3306830277 1 udp 1677729535 141.24.211.56 33461 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag xve8 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2518124110 1 udp 33562623 141.24.210.113 59489 typ relay raddr 141.24.211.56 rport 33461 generation 0 ufrag xve8 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce'"} device-1 | {"data":{"peerconnection":"355e1d2c-fcfd-4876-b550-2c7d77cfcf41","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce'"} device-1 | {"device":"87e84874-28c2-47e2-bb3f-df085b98e05e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"87e84874-28c2-47e2-bb3f-df085b98e05e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"355e1d2c-fcfd-4876-b550-2c7d77cfcf41","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/355e1d2c-fcfd-4876-b550-2c7d77cfcf41' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"355e1d2c-fcfd-4876-b550-2c7d77cfcf41","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"07ee5e56f15adeaea27f0bdbc4e31b47","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"07ee5e56f15adeaea27f0bdbc4e31b47","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/87e84874-28c2-47e2-bb3f-df085b98e05e"},{"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/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/355e1d2c-fcfd-4876-b550-2c7d77cfcf41"}}},"level":"info","message":"received a callback","requestID":"07ee5e56f15adeaea27f0bdbc4e31b47"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d0cbc970-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:32Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F355e1d2c-fcfd-4876-b550-2c7d77cfcf41","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20179d79-732f-4467-8823-77c93f8a9fbb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216192.3971152} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.044912,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/355e1d2c-fcfd-4876-b550-2c7d77cfcf41","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d0cbc970-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/355e1d2c-fcfd-4876-b550-2c7d77cfcf41","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","method":"POST","requestID":"d0cbc970-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d0cbc970-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/355e1d2c-fcfd-4876-b550-2c7d77cfcf41 200 10ms","method":"GET","requestID":"d0cbc970-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/peerconnections/355e1d2c-fcfd-4876-b550-2c7d77cfcf41"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 43ms","method":"POST","requestID":"07ee5e56f15adeaea27f0bdbc4e31b47","responseTime":43,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"07ee5e56f15adeaea27f0bdbc4e31b47"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d0d147b0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:32Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d59351e2-36bc-48fe-b9cd-bd715fd81a11","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216192.4337802} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.323544,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d0d147b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d0d147b0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d0d147b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/87e84874-28c2-47e2-bb3f-df085b98e05e/signaling 200 12ms","method":"POST","requestID":"d0d147b0-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/87e84874-28c2-47e2-bb3f-df085b98e05e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d0d391a0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:32Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"58912085-cd4c-456d-b0f8-ddf7be079cf4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216192.4491534} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.448524,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d0d391a0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d0d391a0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d0d391a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce/signaling 200 13ms","method":"POST","requestID":"d0d391a0-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Mn0.m9_Bshp8zT34Q1RCxyegM6FBby57HJvsr8X5cBLgXQM","level":"info","message":"auth send jwt","requestID":"27caec771e06975ff6697404a2f67ad6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"27caec771e06975ff6697404a2f67ad6","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e","requestID":"27caec771e06975ff6697404a2f67ad6"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.59056,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"27caec771e06975ff6697404a2f67ad6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216192,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Mn0.m9_Bshp8zT34Q1RCxyegM6FBby57HJvsr8X5cBLgXQM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"27caec771e06975ff6697404a2f67ad6","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e","requestID":"27caec771e06975ff6697404a2f67ad6"} experiment-1 | {"level":"info","message":"GET /experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e 200 13ms","method":"GET","requestID":"27caec771e06975ff6697404a2f67ad6","responseTime":13,"status":200,"url":"/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e"} gateway-1 | {"time_local":"17/Jul/2024:11:36:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"27caec771e06975ff6697404a2f67ad6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Mn0.m9_Bshp8zT34Q1RCxyegM6FBby57HJvsr8X5cBLgXQM","level":"info","message":"auth send jwt","requestID":"29518a32b1ff5c17e42720149ee9084a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"29518a32b1ff5c17e42720149ee9084a","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e","requestID":"29518a32b1ff5c17e42720149ee9084a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.904051,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"29518a32b1ff5c17e42720149ee9084a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216192,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Mn0.m9_Bshp8zT34Q1RCxyegM6FBby57HJvsr8X5cBLgXQM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"29518a32b1ff5c17e42720149ee9084a","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e"},"level":"info","message":"Attempting to finish experiment","requestID":"29518a32b1ff5c17e42720149ee9084a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d0de8e20-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.357323,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:32Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/355e1d2c-fcfd-4876-b550-2c7d77cfcf41","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d0de8e20-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/355e1d2c-fcfd-4876-b550-2c7d77cfcf41","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216192,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Mn0.m9_Bshp8zT34Q1RCxyegM6FBby57HJvsr8X5cBLgXQM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d0de8e20-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/355e1d2c-fcfd-4876-b550-2c7d77cfcf41","device":"0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"87e84874-28c2-47e2-bb3f-df085b98e05e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"87e84874-28c2-47e2-bb3f-df085b98e05e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"87e84874-28c2-47e2-bb3f-df085b98e05e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/355e1d2c-fcfd-4876-b550-2c7d77cfcf41' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/355e1d2c-fcfd-4876-b550-2c7d77cfcf41' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"355e1d2c-fcfd-4876-b550-2c7d77cfcf41","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F355e1d2c-fcfd-4876-b550-2c7d77cfcf41': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F355e1d2c-fcfd-4876-b550-2c7d77cfcf41","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"f47d365b-a537-4e03-998d-fdcdba7e3242","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216192.5350008} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70a670f0-80a8-4ed3-b141-67d9a3a8b549","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216192.5352123} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3b92e85bd7df2cedd22530f5b01faa52","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3b92e85bd7df2cedd22530f5b01faa52","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"d0de8e20-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2236fade2400136e0617241e1edb86d1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"2236fade2400136e0617241e1edb86d1","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":"closed","url":"http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e"},{"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/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/355e1d2c-fcfd-4876-b550-2c7d77cfcf41"}}},"level":"info","message":"received a callback","requestID":"3b92e85bd7df2cedd22530f5b01faa52"} 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/87e84874-28c2-47e2-bb3f-df085b98e05e"},{"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/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/355e1d2c-fcfd-4876-b550-2c7d77cfcf41"}}},"level":"info","message":"received a callback","requestID":"2236fade2400136e0617241e1edb86d1"} device-1 | {"data":{"peerconnection":"355e1d2c-fcfd-4876-b550-2c7d77cfcf41","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d0de8e20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/355e1d2c-fcfd-4876-b550-2c7d77cfcf41 204 40ms","method":"DELETE","requestID":"d0de8e20-4430-11ef-b47c-55a12d3fdb12","responseTime":40,"status":204,"url":"/peerconnections/355e1d2c-fcfd-4876-b550-2c7d77cfcf41"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e"},"level":"info","message":"Successfully finished experiment","requestID":"29518a32b1ff5c17e42720149ee9084a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d0e767c0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:32Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F87e84874-28c2-47e2-bb3f-df085b98e05e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4491685f-27d9-4937-906b-27d3eeb7158c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216192.578038} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.959792,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d0e767c0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d0e767c0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d0e767c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/87e84874-28c2-47e2-bb3f-df085b98e05e/signaling 200 11ms","method":"POST","requestID":"d0e767c0-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/87e84874-28c2-47e2-bb3f-df085b98e05e/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee8fcb50-7e70-4362-a26f-5b492446f41e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fee8fcb50-7e70-4362-a26f-5b492446f41e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"e4696a73-a982-4111-ab0d-259916401313","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216192.5841866} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de6ca59a-e535-4d5b-8e11-2c99d90ebe6c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216192.584859} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"29518a32b1ff5c17e42720149ee9084a","responseTime":16,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d0e98aa0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:32Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"504257cd-7185-44e1-82ac-bfa074f51664","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216192.593882} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.682555,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d0e98aa0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d0e98aa0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d0e98aa0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce/signaling 200 14ms","method":"POST","requestID":"d0e98aa0-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e","requestID":"29518a32b1ff5c17e42720149ee9084a"} gateway-1 | {"time_local":"17/Jul/2024:11:36:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"29518a32b1ff5c17e42720149ee9084a"} experiment-1 | {"level":"info","message":"DELETE /experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e 204 152ms","method":"DELETE","requestID":"29518a32b1ff5c17e42720149ee9084a","responseTime":152,"status":204,"url":"/experiments/ee8fcb50-7e70-4362-a26f-5b492446f41e"} gateway-1 | {"time_local":"17/Jul/2024:11:36:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3194","request_time":"4.182","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b685f8b7d2e1cda3d5b1bd141a8f31f3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 114ms","method":"POST","requestID":"3b92e85bd7df2cedd22530f5b01faa52","responseTime":115,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.118","http_referrer":"","http_user_agent":"node-fetch","requestID":"3b92e85bd7df2cedd22530f5b01faa52"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 113ms","method":"POST","requestID":"2236fade2400136e0617241e1edb86d1","responseTime":113,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.119","http_referrer":"","http_user_agent":"node-fetch","requestID":"2236fade2400136e0617241e1edb86d1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Mn0.m9_Bshp8zT34Q1RCxyegM6FBby57HJvsr8X5cBLgXQM","level":"info","message":"auth send jwt","requestID":"524363d4385a994c9bc24167ccbef090"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"524363d4385a994c9bc24167ccbef090","responseTime":7,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:36:32 +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.709","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f29a6c1d4896097f63b71208e9d50715"} device-1 | {"level":"info","message":"postDevices called","requestID":"524363d4385a994c9bc24167ccbef090"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.776537,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"524363d4385a994c9bc24167ccbef090","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216192,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Mn0.m9_Bshp8zT34Q1RCxyegM6FBby57HJvsr8X5cBLgXQM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"524363d4385a994c9bc24167ccbef090","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/87e84874-28c2-47e2-bb3f-df085b98e05e' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0707bcfd-39e8-47ad-88c2-9307049f952f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216192.6779253} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"524363d4385a994c9bc24167ccbef090","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0b5d8cd9-aa02-40b1-ba1f-2d24bdc5a0ce' 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:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5206f766-c733-45a3-b13c-5760928bc7f5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216192.6832376} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"524363d4385a994c9bc24167ccbef090","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"a8d2e1b0-a046-4ea7-ad8c-8943f2451c1f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216192.6923566} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fe6f2ff1-95a9-473c-98f2-590e0b1734bb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216192.6927042} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"524363d4385a994c9bc24167ccbef090","responseTime":12,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:32.692329944Z"}]},"request_id":"b2ad0abc-edc2-48c4-92f3-ddead990d329","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216192.6976154} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"524363d4385a994c9bc24167ccbef090","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"524363d4385a994c9bc24167ccbef090"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"524363d4385a994c9bc24167ccbef090","responseTime":41,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"17/Jul/2024:11:36:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"524363d4385a994c9bc24167ccbef090"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Mn0.m9_Bshp8zT34Q1RCxyegM6FBby57HJvsr8X5cBLgXQM","level":"info","message":"auth send jwt","requestID":"0e1c7654fd1deffa887a231819d8eb1a"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0e1c7654fd1deffa887a231819d8eb1a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0e1c7654fd1deffa887a231819d8eb1a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:32Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.801198,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"0e1c7654fd1deffa887a231819d8eb1a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216192,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Mn0.m9_Bshp8zT34Q1RCxyegM6FBby57HJvsr8X5cBLgXQM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0e1c7654fd1deffa887a231819d8eb1a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ce52c6f3-9011-48e3-b6c2-ef3fd17c4c6b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216192.7254581} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0e1c7654fd1deffa887a231819d8eb1a","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"044d96cb-4abf-4bb0-8135-63cf4d0ba761","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216192.7301548} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0e1c7654fd1deffa887a231819d8eb1a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"18d6f5ea-9097-4b9d-8305-0bd87510e6b7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216192.7407684} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"55ef28fd-927f-4421-9978-b44b1e889290","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216192.7408998} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"0e1c7654fd1deffa887a231819d8eb1a","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:32.740744725Z"}]},"request_id":"a8019b6f-efd8-45fc-8d0c-0a84a6bcd95c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216192.744894} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0e1c7654fd1deffa887a231819d8eb1a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0e1c7654fd1deffa887a231819d8eb1a"} gateway-1 | {"time_local":"17/Jul/2024:11:36:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e1c7654fd1deffa887a231819d8eb1a"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"0e1c7654fd1deffa887a231819d8eb1a","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA","level":"info","message":"auth send jwt","requestID":"4236a91d104fe89a8c615cda5301558d"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"4236a91d104fe89a8c615cda5301558d","responseTime":8,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA","level":"info","message":"auth send jwt","requestID":"928b47c76e76c41f0ffc5671538b6cd9"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"928b47c76e76c41f0ffc5671538b6cd9","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"4236a91d104fe89a8c615cda5301558d"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"928b47c76e76c41f0ffc5671538b6cd9"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.616656,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"4236a91d104fe89a8c615cda5301558d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216193,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4236a91d104fe89a8c615cda5301558d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.558255,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"928b47c76e76c41f0ffc5671538b6cd9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216193,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"928b47c76e76c41f0ffc5671538b6cd9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:32.740744725Z"}]},"request_id":"f6976c27-9618-4d78-b2a1-8edaeaa1d9c4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.2304718} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"4236a91d104fe89a8c615cda5301558d","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:32.692329944Z"}]},"request_id":"a61c1294-1b7f-484c-8a13-46366446978f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.2309492} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"928b47c76e76c41f0ffc5671538b6cd9","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c8bd9040-fc4b-4311-ba68-d026a0422c62","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.2349906} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"4236a91d104fe89a8c615cda5301558d","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f0e58f7-8e69-4703-bbab-183fad376c79","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.2359977} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"928b47c76e76c41f0ffc5671538b6cd9","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:32.692329944Z"}]},"request_id":"20176882-ef5e-425e-b10f-3d53f54e083d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.238992} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"928b47c76e76c41f0ffc5671538b6cd9","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"928b47c76e76c41f0ffc5671538b6cd9"} device-1 | {"level":"info","message":"PATCH /devices/c337002e-ba39-4578-a32f-9e0ca00c0246 200 18ms","method":"PATCH","requestID":"928b47c76e76c41f0ffc5671538b6cd9","responseTime":18,"status":200,"url":"/devices/c337002e-ba39-4578-a32f-9e0ca00c0246"} gateway-1 | {"time_local":"17/Jul/2024:11:36:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c337002e-ba39-4578-a32f-9e0ca00c0246 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"928b47c76e76c41f0ffc5671538b6cd9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA","level":"info","message":"auth send jwt","requestID":"ba97ae467a4b89833690c48829cd735d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ba97ae467a4b89833690c48829cd735d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ba97ae467a4b89833690c48829cd735d"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:32.740744725Z"}]},"request_id":"94897d44-b24e-42cf-9dc3-c0cd7bb988b6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.249679} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"4236a91d104fe89a8c615cda5301558d","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643233,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:33Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"4236a91d104fe89a8c615cda5301558d"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ba97ae467a4b89833690c48829cd735d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216193,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA"} gateway-1 | {"time_local":"17/Jul/2024:11:36:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18 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":"4236a91d104fe89a8c615cda5301558d"} device-1 | {"level":"info","message":"PATCH /devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18 200 31ms","method":"PATCH","requestID":"4236a91d104fe89a8c615cda5301558d","responseTime":31,"status":200,"url":"/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ba97ae467a4b89833690c48829cd735d","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA","level":"info","message":"auth send jwt","requestID":"2c58a63b06bd09b7f591fd248770c071"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2c58a63b06bd09b7f591fd248770c071","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2c58a63b06bd09b7f591fd248770c071"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:33Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ba97ae467a4b89833690c48829cd735d"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.01402,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:33Z"} gateway-1 | {"time_local":"17/Jul/2024:11:36:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c337002e-ba39-4578-a32f-9e0ca00c0246/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":"ba97ae467a4b89833690c48829cd735d"} device-1 | {"level":"info","message":"POST /devices/c337002e-ba39-4578-a32f-9e0ca00c0246/websocket 200 17ms","method":"POST","requestID":"ba97ae467a4b89833690c48829cd735d","responseTime":17,"status":200,"url":"/devices/c337002e-ba39-4578-a32f-9e0ca00c0246/websocket"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"2c58a63b06bd09b7f591fd248770c071","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216193,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2c58a63b06bd09b7f591fd248770c071","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2c58a63b06bd09b7f591fd248770c071"} device-1 | {"level":"info","message":"POST /devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18/websocket 200 18ms","method":"POST","requestID":"2c58a63b06bd09b7f591fd248770c071","responseTime":18,"status":200,"url":"/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:36:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18/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":"2c58a63b06bd09b7f591fd248770c071"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA","level":"info","message":"auth send jwt","requestID":"a7f549cc0ee64b3fa9f0c9d42c122d7e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a7f549cc0ee64b3fa9f0c9d42c122d7e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a7f549cc0ee64b3fa9f0c9d42c122d7e"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659997,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a7f549cc0ee64b3fa9f0c9d42c122d7e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216193,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a7f549cc0ee64b3fa9f0c9d42c122d7e","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:32.692329944Z"}]},"request_id":"dc5363be-d632-4406-887e-193f0d6bd994","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.3126395} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a7f549cc0ee64b3fa9f0c9d42c122d7e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a7f549cc0ee64b3fa9f0c9d42c122d7e"} gateway-1 | {"time_local":"17/Jul/2024:11:36:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c337002e-ba39-4578-a32f-9e0ca00c0246? 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":"a7f549cc0ee64b3fa9f0c9d42c122d7e"} device-1 | {"level":"info","message":"GET /devices/c337002e-ba39-4578-a32f-9e0ca00c0246? 200 12ms","method":"GET","requestID":"a7f549cc0ee64b3fa9f0c9d42c122d7e","responseTime":12,"status":200,"url":"/devices/c337002e-ba39-4578-a32f-9e0ca00c0246?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA","level":"info","message":"auth send jwt","requestID":"7af84be530431af636b5193436a8f5ac"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7af84be530431af636b5193436a8f5ac","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7af84be530431af636b5193436a8f5ac"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.970986,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"7af84be530431af636b5193436a8f5ac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216193,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7af84be530431af636b5193436a8f5ac","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:32.740744725Z"}]},"request_id":"1cb9efa2-b617-46c4-b777-1eb2a30a0bf8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.3285217} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7af84be530431af636b5193436a8f5ac","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7af84be530431af636b5193436a8f5ac"} gateway-1 | {"time_local":"17/Jul/2024:11:36:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18? 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":"7af84be530431af636b5193436a8f5ac"} device-1 | {"level":"info","message":"GET /devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18? 200 12ms","method":"GET","requestID":"7af84be530431af636b5193436a8f5ac","responseTime":12,"status":200,"url":"/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA","level":"info","message":"auth send jwt","requestID":"c5dbe9727869f85e19b816199f42e7a2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c5dbe9727869f85e19b816199f42e7a2","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"c5dbe9727869f85e19b816199f42e7a2"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.34176,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c5dbe9727869f85e19b816199f42e7a2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216193,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c5dbe9727869f85e19b816199f42e7a2","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f"},"level":"info","message":"Attempting to run experiment","requestID":"c5dbe9727869f85e19b816199f42e7a2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f"},"level":"info","message":"Attempting to book experiment","requestID":"c5dbe9727869f85e19b816199f42e7a2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f"},"level":"info","message":"Successfully booked experiment","requestID":"c5dbe9727869f85e19b816199f42e7a2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d161eef0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d1621600-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.228926,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d161eef0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216193,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d161eef0-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.13887,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d1621600-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216193,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d1621600-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:32.692329944Z"}]},"request_id":"3018d725-7ab2-42ad-8a63-56ca5ecf04e1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.3841028} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d161eef0-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:32.740744725Z"}]},"request_id":"1d899997-5bde-4853-a2fb-73bdbec37bc3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.3847528} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d1621600-4430-11ef-b47c-55a12d3fdb12","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d161eef0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/c337002e-ba39-4578-a32f-9e0ca00c0246? 200 13ms","method":"GET","requestID":"d161eef0-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/c337002e-ba39-4578-a32f-9e0ca00c0246?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d1621600-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18? 200 13ms","method":"GET","requestID":"d1621600-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f"},"level":"info","message":"Setting up experiment","requestID":"c5dbe9727869f85e19b816199f42e7a2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"c5dbe9727869f85e19b816199f42e7a2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f"},"level":"info","message":"Successfully locked booking for experiment","requestID":"c5dbe9727869f85e19b816199f42e7a2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"c5dbe9727869f85e19b816199f42e7a2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"c5dbe9727869f85e19b816199f42e7a2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f"},"level":"info","message":"Attempting to update booking for experiment","requestID":"c5dbe9727869f85e19b816199f42e7a2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f"},"level":"info","message":"Successfully updated booking for experiment","requestID":"c5dbe9727869f85e19b816199f42e7a2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f"},"level":"info","message":"Successfully set up experiment","requestID":"c5dbe9727869f85e19b816199f42e7a2"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d16c2820-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d16c7640-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d16cc460-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.819223,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:33Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f"},"level":"info","message":"Successfully running experiment","requestID":"c5dbe9727869f85e19b816199f42e7a2"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d16c2820-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216193,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d16c2820-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.944538,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"client_addr":"127.0.0.1:54872","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d16c7640-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216193,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d16c7640-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf8afe1f-0118-4a3f-a402-6b5109bf80f5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.452747} authorization-1 | {"client_addr":"127.0.0.1:54872","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.043866,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d16cc460-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d16cc460-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:32.692329944Z"}]},"request_id":"a223a5f9-2654-446b-a3a7-bb74294a30b7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.4545038} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:32.740744725Z"}]},"request_id":"d867fc10-2b2c-42df-a412-ede0550cb52d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.4564826} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"d16c2820-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"d16c7640-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d16c2820-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/c337002e-ba39-4578-a32f-9e0ca00c0246? 200 26ms","method":"GET","requestID":"d16c2820-4430-11ef-b47c-55a12d3fdb12","responseTime":26,"status":200,"url":"/devices/c337002e-ba39-4578-a32f-9e0ca00c0246?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d16cc460-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/c337002e-ba39-4578-a32f-9e0ca00c0246/signaling 200 24ms","method":"POST","requestID":"d16cc460-4430-11ef-b47c-55a12d3fdb12","responseTime":24,"status":200,"url":"/devices/c337002e-ba39-4578-a32f-9e0ca00c0246/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d16c7640-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1a992fcc-977c-46f0-acad-708952bee08f#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1a992fcc-977c-46f0-acad-708952bee08f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"da4c15d0-cd15-493e-a273-743f86399f48","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.4705217} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fb457f93-03f6-4604-97cd-d3ba477b9377","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.4708645} device-1 | {"level":"info","message":"GET /devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18? 200 27ms","method":"GET","requestID":"d16c7640-4430-11ef-b47c-55a12d3fdb12","responseTime":27,"status":200,"url":"/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"c5dbe9727869f85e19b816199f42e7a2","responseTime":21,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d170bc00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d1713130-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ca6a3ac2-8128-4a7d-8654-846dbe71f379","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.4782298} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.940257,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d170bc00-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d170bc00-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6b5ca7ac-4df6-483a-8411-d73da064fab4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.4796553} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.625175,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:33Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"c5dbe9727869f85e19b816199f42e7a2"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d1713130-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","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":"17/Jul/2024:11:36:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c5dbe9727869f85e19b816199f42e7a2"} experiment-1 | {"level":"info","message":"POST /experiments? 201 144ms","method":"POST","requestID":"c5dbe9727869f85e19b816199f42e7a2","responseTime":144,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d1713130-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d170bc00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18/signaling 200 12ms","method":"POST","requestID":"d170bc00-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d1713130-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/c337002e-ba39-4578-a32f-9e0ca00c0246/signaling 200 9ms","method":"POST","requestID":"d1713130-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/c337002e-ba39-4578-a32f-9e0ca00c0246/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA","level":"info","message":"auth send jwt","requestID":"edd1fbcf927cf0d76c658d95655c57d1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"edd1fbcf927cf0d76c658d95655c57d1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d172dee0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"edd1fbcf927cf0d76c658d95655c57d1"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3c768f1-deed-4686-be40-650133fc27e1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.4912035} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.232662,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"edd1fbcf927cf0d76c658d95655c57d1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216193,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"edd1fbcf927cf0d76c658d95655c57d1","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.653787,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d172dee0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d172dee0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d172dee0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:32.692329944Z"}]},"request_id":"5380a069-5c0b-42d8-a8b9-dd70a000fa61","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.4960454} device-1 | {"level":"info","message":"POST /devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18/signaling 200 10ms","method":"POST","requestID":"d172dee0-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"edd1fbcf927cf0d76c658d95655c57d1","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"c5dbe9727869f85e19b816199f42e7a2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f"},"level":"info","message":"Building connection plan","requestID":"c5dbe9727869f85e19b816199f42e7a2"} 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":"036b4fff-02a4-4754-8ee0-bc372fb69e95"},{"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":"12e8ec75-acf5-4572-b83e-cf9571dfd4a1"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d368080f-ed4c-4be8-85b1-eb65ee5c1d26"}]},"level":"info","message":"Built pairwise service configurations","requestID":"c5dbe9727869f85e19b816199f42e7a2"} 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/c337002e-ba39-4578-a32f-9e0ca00c0246"},{"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/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"c5dbe9727869f85e19b816199f42e7a2"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d174dab0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"edd1fbcf927cf0d76c658d95655c57d1"} gateway-1 | {"time_local":"17/Jul/2024:11:36:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c337002e-ba39-4578-a32f-9e0ca00c0246? 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":"edd1fbcf927cf0d76c658d95655c57d1"} device-1 | {"level":"info","message":"GET /devices/c337002e-ba39-4578-a32f-9e0ca00c0246? 200 13ms","method":"GET","requestID":"edd1fbcf927cf0d76c658d95655c57d1","responseTime":13,"status":200,"url":"/devices/c337002e-ba39-4578-a32f-9e0ca00c0246?"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.671439,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d174dab0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216193,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d174dab0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA","level":"info","message":"auth send jwt","requestID":"c7487ec2d88957bff0b67698c6af6927"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c7487ec2d88957bff0b67698c6af6927","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c7487ec2d88957bff0b67698c6af6927"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.206155,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c7487ec2d88957bff0b67698c6af6927","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216193,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5M30.uxYRVLRLA95iEUgau3H24cfb6V5LT6YOmArV2zuIfEA"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"c7487ec2d88957bff0b67698c6af6927","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"79676560-0856-4fd8-9eb7-43ad64b47826","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.5190437} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b3f8984-af89-4250-9c86-f1801119b5bc","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.5191858} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:32.740744725Z"}]},"request_id":"7f4923f6-f039-4111-ab5b-33c6d917a8a5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.5200434} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"d174dab0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c7487ec2d88957bff0b67698c6af6927","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c7487ec2d88957bff0b67698c6af6927"} gateway-1 | {"time_local":"17/Jul/2024:11:36:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18? 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":"c7487ec2d88957bff0b67698c6af6927"} device-1 | {"level":"info","message":"GET /devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18? 200 19ms","method":"GET","requestID":"c7487ec2d88957bff0b67698c6af6927","responseTime":19,"status":200,"url":"/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d174dab0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d174dab0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f7f5d481-f565-4f84-a5ab-27184dcfb941'","requestID":"d174dab0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f7f5d481-f565-4f84-a5ab-27184dcfb941'","requestID":"d174dab0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d174dab0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 37ms","method":"POST","requestID":"d174dab0-4430-11ef-b47c-55a12d3fdb12","responseTime":37,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d174dab0-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"c5dbe9727869f85e19b816199f42e7a2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d17f3af0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"adbf288a-06b4-44ca-ba66-ef29c6b2d706","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.5723624} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.887365,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d17f3af0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d17f3af0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d17f3af0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/c337002e-ba39-4578-a32f-9e0ca00c0246/signaling 200 9ms","method":"POST","requestID":"d17f3af0-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/c337002e-ba39-4578-a32f-9e0ca00c0246/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d180e8a0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"889acb27-9c55-4c42-ab32-533b730318d8","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216193.5831103} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.308327,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d180e8a0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d180e8a0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d180e8a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18/signaling 200 10ms","method":"POST","requestID":"d180e8a0-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18/signaling"} device-1 | {"device":"8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"f7f5d481-f565-4f84-a5ab-27184dcfb941","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c337002e-ba39-4578-a32f-9e0ca00c0246","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"f7f5d481-f565-4f84-a5ab-27184dcfb941","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c337002e-ba39-4578-a32f-9e0ca00c0246","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c337002e-ba39-4578-a32f-9e0ca00c0246","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c337002e-ba39-4578-a32f-9e0ca00c0246","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c337002e-ba39-4578-a32f-9e0ca00c0246","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f7f5d481-f565-4f84-a5ab-27184dcfb941' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f7f5d481-f565-4f84-a5ab-27184dcfb941","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d570eb1066cd27a3ceaa1c5bf5b0d942","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d570eb1066cd27a3ceaa1c5bf5b0d942","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246"},{"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/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f7f5d481-f565-4f84-a5ab-27184dcfb941"}}},"level":"info","message":"received a callback","requestID":"d570eb1066cd27a3ceaa1c5bf5b0d942"} device-1 | {"device":"8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} gateway-1 | {"time_local":"17/Jul/2024:11:36:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"d570eb1066cd27a3ceaa1c5bf5b0d942"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"d570eb1066cd27a3ceaa1c5bf5b0d942","responseTime":7,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"f7f5d481-f565-4f84-a5ab-27184dcfb941","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"c337002e-ba39-4578-a32f-9e0ca00c0246","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c337002e-ba39-4578-a32f-9e0ca00c0246","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"f7f5d481-f565-4f84-a5ab-27184dcfb941","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/f7f5d481-f565-4f84-a5ab-27184dcfb941' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f7f5d481-f565-4f84-a5ab-27184dcfb941","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c3817243d2c9974cb3c31b377f515e50","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c3817243d2c9974cb3c31b377f515e50","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/c337002e-ba39-4578-a32f-9e0ca00c0246"},{"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/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f7f5d481-f565-4f84-a5ab-27184dcfb941"}}},"level":"info","message":"received a callback","requestID":"c3817243d2c9974cb3c31b377f515e50"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d2bd6040-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:35Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff7f5d481-f565-4f84-a5ab-27184dcfb941","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2bb5065e-345f-4c61-a519-64af5e8ebde5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216195.6575947} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.093025,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f7f5d481-f565-4f84-a5ab-27184dcfb941","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d2bd6040-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f7f5d481-f565-4f84-a5ab-27184dcfb941","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","method":"POST","requestID":"d2bd6040-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d2bd6040-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/f7f5d481-f565-4f84-a5ab-27184dcfb941 200 11ms","method":"GET","requestID":"d2bd6040-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/peerconnections/f7f5d481-f565-4f84-a5ab-27184dcfb941"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 41ms","method":"POST","requestID":"c3817243d2c9974cb3c31b377f515e50","responseTime":41,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.044","http_referrer":"","http_user_agent":"node-fetch","requestID":"c3817243d2c9974cb3c31b377f515e50"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2c29060-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:35Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce6d92c5-adf3-4d35-b1a0-994dbecdbab7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216195.692429} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.396035,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d2c29060-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d2c29060-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2c29060-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/c337002e-ba39-4578-a32f-9e0ca00c0246/signaling 200 12ms","method":"POST","requestID":"d2c29060-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/c337002e-ba39-4578-a32f-9e0ca00c0246/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2c4b340-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:35Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"441d03b4-00ed-4890-8787-b6537e16eca2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216195.7065156} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.97462,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d2c4b340-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d2c4b340-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2c4b340-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18/signaling 200 13ms","method":"POST","requestID":"d2c4b340-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5NX0.45lYnVUOcW7DOd7SNtbsF23uvg8patQkPQdI-nIL58Y","level":"info","message":"auth send jwt","requestID":"6553f50f360f4e82c39657a5c9d3acf2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6553f50f360f4e82c39657a5c9d3acf2","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1a992fcc-977c-46f0-acad-708952bee08f","requestID":"6553f50f360f4e82c39657a5c9d3acf2"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.237141,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"6553f50f360f4e82c39657a5c9d3acf2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216195,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5NX0.45lYnVUOcW7DOd7SNtbsF23uvg8patQkPQdI-nIL58Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6553f50f360f4e82c39657a5c9d3acf2","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/1a992fcc-977c-46f0-acad-708952bee08f","requestID":"6553f50f360f4e82c39657a5c9d3acf2"} experiment-1 | {"level":"info","message":"GET /experiments/1a992fcc-977c-46f0-acad-708952bee08f 200 15ms","method":"GET","requestID":"6553f50f360f4e82c39657a5c9d3acf2","responseTime":15,"status":200,"url":"/experiments/1a992fcc-977c-46f0-acad-708952bee08f"} gateway-1 | {"time_local":"17/Jul/2024:11:36:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1a992fcc-977c-46f0-acad-708952bee08f 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":"6553f50f360f4e82c39657a5c9d3acf2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5NX0.45lYnVUOcW7DOd7SNtbsF23uvg8patQkPQdI-nIL58Y","level":"info","message":"auth send jwt","requestID":"7b3da1b4108a73defa91082c7a6c57f8"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7b3da1b4108a73defa91082c7a6c57f8","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1a992fcc-977c-46f0-acad-708952bee08f","requestID":"7b3da1b4108a73defa91082c7a6c57f8"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.98845,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"7b3da1b4108a73defa91082c7a6c57f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216195,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5NX0.45lYnVUOcW7DOd7SNtbsF23uvg8patQkPQdI-nIL58Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"7b3da1b4108a73defa91082c7a6c57f8","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f"},"level":"info","message":"Attempting to finish experiment","requestID":"7b3da1b4108a73defa91082c7a6c57f8"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d2d1ab90-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.559373,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f7f5d481-f565-4f84-a5ab-27184dcfb941","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d2d1ab90-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/f7f5d481-f565-4f84-a5ab-27184dcfb941","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216195,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5NX0.45lYnVUOcW7DOd7SNtbsF23uvg8patQkPQdI-nIL58Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d2d1ab90-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c337002e-ba39-4578-a32f-9e0ca00c0246","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c337002e-ba39-4578-a32f-9e0ca00c0246","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"c337002e-ba39-4578-a32f-9e0ca00c0246","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f7f5d481-f565-4f84-a5ab-27184dcfb941' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f7f5d481-f565-4f84-a5ab-27184dcfb941' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f7f5d481-f565-4f84-a5ab-27184dcfb941","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff7f5d481-f565-4f84-a5ab-27184dcfb941': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff7f5d481-f565-4f84-a5ab-27184dcfb941","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"84478fd6-f7ba-4c3d-b75e-f861986b1d0c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216195.8121855} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d38838344d77781c6b3807315e180fcf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64b15aea-ed97-4123-a73c-27419741f39e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216195.8124413} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d38838344d77781c6b3807315e180fcf","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"d2d1ab90-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/relations/update"} 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/c337002e-ba39-4578-a32f-9e0ca00c0246"},{"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/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f7f5d481-f565-4f84-a5ab-27184dcfb941"}}},"level":"info","message":"received a callback","requestID":"d38838344d77781c6b3807315e180fcf"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"24d7f2e3b054eeacabdc4f19afdc67eb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"24d7f2e3b054eeacabdc4f19afdc67eb","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246"},{"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/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f7f5d481-f565-4f84-a5ab-27184dcfb941"}}},"level":"info","message":"received a callback","requestID":"24d7f2e3b054eeacabdc4f19afdc67eb"} device-1 | {"data":{"peerconnection":"f7f5d481-f565-4f84-a5ab-27184dcfb941","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d2d1ab90-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/f7f5d481-f565-4f84-a5ab-27184dcfb941 204 52ms","method":"DELETE","requestID":"d2d1ab90-4430-11ef-b47c-55a12d3fdb12","responseTime":52,"status":204,"url":"/peerconnections/f7f5d481-f565-4f84-a5ab-27184dcfb941"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1a992fcc-977c-46f0-acad-708952bee08f"},"level":"info","message":"Successfully finished experiment","requestID":"7b3da1b4108a73defa91082c7a6c57f8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2dd4450-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:35Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc337002e-ba39-4578-a32f-9e0ca00c0246","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ac99a88-368f-469b-b33f-90ac4ae12d8d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216195.8695097} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.169099,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d2dd4450-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d2dd4450-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2dd4450-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/c337002e-ba39-4578-a32f-9e0ca00c0246/signaling 200 15ms","method":"POST","requestID":"d2dd4450-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/c337002e-ba39-4578-a32f-9e0ca00c0246/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1a992fcc-977c-46f0-acad-708952bee08f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1a992fcc-977c-46f0-acad-708952bee08f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"57606200-5b8a-4880-b510-685b60268ecb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216195.8774397} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0e8bfd4d-be4e-476c-b34b-7442747133ef","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216195.8782089} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"7b3da1b4108a73defa91082c7a6c57f8","responseTime":21,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d2e02a80-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:35Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"be51392f-368f-4638-9031-3def9712c32e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216195.8872852} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.75661,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d2e02a80-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d2e02a80-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d2e02a80-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18/signaling 200 14ms","method":"POST","requestID":"d2e02a80-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1a992fcc-977c-46f0-acad-708952bee08f","requestID":"7b3da1b4108a73defa91082c7a6c57f8"} gateway-1 | {"time_local":"17/Jul/2024:11:36:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1a992fcc-977c-46f0-acad-708952bee08f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7b3da1b4108a73defa91082c7a6c57f8"} gateway-1 | {"time_local":"17/Jul/2024:11:36:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.687","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f9844c99928f75685515aa90b06651d9"} gateway-1 | {"time_local":"17/Jul/2024:11:36:35 +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.673","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"95c4e4e012c6677ca5a1f5a3590c07c5"} experiment-1 | {"level":"info","message":"DELETE /experiments/1a992fcc-977c-46f0-acad-708952bee08f 204 186ms","method":"DELETE","requestID":"7b3da1b4108a73defa91082c7a6c57f8","responseTime":186,"status":204,"url":"/experiments/1a992fcc-977c-46f0-acad-708952bee08f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 139ms","method":"POST","requestID":"d38838344d77781c6b3807315e180fcf","responseTime":139,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"d38838344d77781c6b3807315e180fcf"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 138ms","method":"POST","requestID":"24d7f2e3b054eeacabdc4f19afdc67eb","responseTime":138,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"24d7f2e3b054eeacabdc4f19afdc67eb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5NX0.45lYnVUOcW7DOd7SNtbsF23uvg8patQkPQdI-nIL58Y","level":"info","message":"auth send jwt","requestID":"282f08ad70c93732df770085b1f1ed3a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"282f08ad70c93732df770085b1f1ed3a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"282f08ad70c93732df770085b1f1ed3a"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8c93e3c6-4730-45a8-9d4f-31dabfa3ff18' closed"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:35Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.956381,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"282f08ad70c93732df770085b1f1ed3a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216195,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5NX0.45lYnVUOcW7DOd7SNtbsF23uvg8patQkPQdI-nIL58Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"282f08ad70c93732df770085b1f1ed3a","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c337002e-ba39-4578-a32f-9e0ca00c0246' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c26ac7fd-aae6-441e-8872-ef2a98356cf2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216195.9812157} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"282f08ad70c93732df770085b1f1ed3a","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"49408b02-cd0b-4991-9262-01efe20fbcee","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216195.9868977} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"282f08ad70c93732df770085b1f1ed3a","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"f21d7b9e-1f3f-4608-921d-7ae58be2a5cc","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216195.9962165} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"504bf1da-14ef-417f-97a7-1b8f545b37f5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216195.9964244} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"282f08ad70c93732df770085b1f1ed3a","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:35.996179227Z"}]},"request_id":"903f0c12-3e6d-4c35-87b0-6d553fd0b578","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.0012562} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"282f08ad70c93732df770085b1f1ed3a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"282f08ad70c93732df770085b1f1ed3a"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"282f08ad70c93732df770085b1f1ed3a","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"17/Jul/2024:11:36:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"282f08ad70c93732df770085b1f1ed3a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI","level":"info","message":"auth send jwt","requestID":"b676f6098defa7e7867d584ff4bd9a83"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b676f6098defa7e7867d584ff4bd9a83","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b676f6098defa7e7867d584ff4bd9a83"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.787728,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b676f6098defa7e7867d584ff4bd9a83","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216196,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b676f6098defa7e7867d584ff4bd9a83","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2f6ab076-46f8-445c-b402-8df7c4320891","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.0319216} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b676f6098defa7e7867d584ff4bd9a83","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33e606da-ca85-4c96-b5fc-50523c5149e9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.0370255} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"b676f6098defa7e7867d584ff4bd9a83","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"233ba9b7-2db9-446d-900f-30f12dacca05","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.0486526} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b127c5ba-b0a2-4988-9b8a-0102dd522d8f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.0489504} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"b676f6098defa7e7867d584ff4bd9a83","responseTime":15,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:36.048623962Z"}]},"request_id":"3c70d13f-ad8f-4dc7-8984-5cf2ecbdfacb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.0544515} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b676f6098defa7e7867d584ff4bd9a83","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b676f6098defa7e7867d584ff4bd9a83"} gateway-1 | {"time_local":"17/Jul/2024:11:36:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b676f6098defa7e7867d584ff4bd9a83"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"b676f6098defa7e7867d584ff4bd9a83","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI","level":"info","message":"auth send jwt","requestID":"14df3b30dcf4e609cbed61c3587d50fc"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"14df3b30dcf4e609cbed61c3587d50fc","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI","level":"info","message":"auth send jwt","requestID":"78d66d28a4e1f575a143d0d0f2c617e4"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"78d66d28a4e1f575a143d0d0f2c617e4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"14df3b30dcf4e609cbed61c3587d50fc"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"78d66d28a4e1f575a143d0d0f2c617e4"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.592453,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"14df3b30dcf4e609cbed61c3587d50fc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216196,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"14df3b30dcf4e609cbed61c3587d50fc","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.584741,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"78d66d28a4e1f575a143d0d0f2c617e4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216196,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"78d66d28a4e1f575a143d0d0f2c617e4","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:35.996179227Z"}]},"request_id":"4419eeef-ceb1-4f3c-a8c8-937a4e855ae9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.547918} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"14df3b30dcf4e609cbed61c3587d50fc","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:36.048623962Z"}]},"request_id":"ca634c86-b13d-4e38-afdc-912d006cbaf0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.548485} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"78d66d28a4e1f575a143d0d0f2c617e4","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c9ae6a3e-c96b-4154-b3da-21d2037bfcf1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.5528917} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"14df3b30dcf4e609cbed61c3587d50fc","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c7b3b5d-058e-40fa-8100-d0d05500a3f9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.5539744} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"78d66d28a4e1f575a143d0d0f2c617e4","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:36.048623962Z"}]},"request_id":"aea09531-7811-4790-b5b4-583ca6391bc3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.5579312} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"78d66d28a4e1f575a143d0d0f2c617e4","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"78d66d28a4e1f575a143d0d0f2c617e4"} gateway-1 | {"time_local":"17/Jul/2024:11:36:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"78d66d28a4e1f575a143d0d0f2c617e4"} device-1 | {"level":"info","message":"PATCH /devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13 200 19ms","method":"PATCH","requestID":"78d66d28a4e1f575a143d0d0f2c617e4","responseTime":19,"status":200,"url":"/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI","level":"info","message":"auth send jwt","requestID":"b968449902ed4c2a837f3a81ced00edd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b968449902ed4c2a837f3a81ced00edd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b968449902ed4c2a837f3a81ced00edd"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:35.996179227Z"}]},"request_id":"8fa0270f-d23e-4546-a8a9-0c54fb2f7653","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.5666456} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"14df3b30dcf4e609cbed61c3587d50fc","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654983,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"14df3b30dcf4e609cbed61c3587d50fc"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"b968449902ed4c2a837f3a81ced00edd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216196,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"b968449902ed4c2a837f3a81ced00edd","responseTime":2,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"17/Jul/2024:11:36:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23 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":"14df3b30dcf4e609cbed61c3587d50fc"} device-1 | {"level":"info","message":"PATCH /devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23 200 30ms","method":"PATCH","requestID":"14df3b30dcf4e609cbed61c3587d50fc","responseTime":30,"status":200,"url":"/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI","level":"info","message":"auth send jwt","requestID":"1064d9664a7f7a750f6b28cc4885a1cf"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1064d9664a7f7a750f6b28cc4885a1cf","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1064d9664a7f7a750f6b28cc4885a1cf"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.169071,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"1064d9664a7f7a750f6b28cc4885a1cf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216196,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1064d9664a7f7a750f6b28cc4885a1cf","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b968449902ed4c2a837f3a81ced00edd"} gateway-1 | {"time_local":"17/Jul/2024:11:36:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13/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":"b968449902ed4c2a837f3a81ced00edd"} device-1 | {"level":"info","message":"POST /devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13/websocket 200 14ms","method":"POST","requestID":"b968449902ed4c2a837f3a81ced00edd","responseTime":14,"status":200,"url":"/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1064d9664a7f7a750f6b28cc4885a1cf"} gateway-1 | {"time_local":"17/Jul/2024:11:36:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23/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":"1064d9664a7f7a750f6b28cc4885a1cf"} device-1 | {"level":"info","message":"POST /devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23/websocket 200 16ms","method":"POST","requestID":"1064d9664a7f7a750f6b28cc4885a1cf","responseTime":16,"status":200,"url":"/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI","level":"info","message":"auth send jwt","requestID":"d2ac7d1d2489bd954fc06cbb1e5befe0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d2ac7d1d2489bd954fc06cbb1e5befe0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d2ac7d1d2489bd954fc06cbb1e5befe0"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.125878,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d2ac7d1d2489bd954fc06cbb1e5befe0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216196,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d2ac7d1d2489bd954fc06cbb1e5befe0","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:35.996179227Z"}]},"request_id":"e2a16f03-519e-47e9-a0c3-2d052c793e25","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.6244447} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d2ac7d1d2489bd954fc06cbb1e5befe0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d2ac7d1d2489bd954fc06cbb1e5befe0"} gateway-1 | {"time_local":"17/Jul/2024:11:36:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23? 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":"d2ac7d1d2489bd954fc06cbb1e5befe0"} device-1 | {"level":"info","message":"GET /devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23? 200 13ms","method":"GET","requestID":"d2ac7d1d2489bd954fc06cbb1e5befe0","responseTime":13,"status":200,"url":"/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI","level":"info","message":"auth send jwt","requestID":"d2d0a3481387328bd96388a157d527d3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d2d0a3481387328bd96388a157d527d3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d2d0a3481387328bd96388a157d527d3"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.129101,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d2d0a3481387328bd96388a157d527d3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216196,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d2d0a3481387328bd96388a157d527d3","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:36.048623962Z"}]},"request_id":"4366a4e9-7784-4e15-8169-63f019ded21b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.6420646} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d2d0a3481387328bd96388a157d527d3","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d2d0a3481387328bd96388a157d527d3"} gateway-1 | {"time_local":"17/Jul/2024:11:36:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13? 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":"d2d0a3481387328bd96388a157d527d3"} device-1 | {"level":"info","message":"GET /devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13? 200 13ms","method":"GET","requestID":"d2d0a3481387328bd96388a157d527d3","responseTime":13,"status":200,"url":"/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI","level":"info","message":"auth send jwt","requestID":"72765fa4b381bfbe8a568e3934de203a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"72765fa4b381bfbe8a568e3934de203a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"72765fa4b381bfbe8a568e3934de203a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.171159,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"72765fa4b381bfbe8a568e3934de203a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216196,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"72765fa4b381bfbe8a568e3934de203a","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b"},"level":"info","message":"Attempting to run experiment","requestID":"72765fa4b381bfbe8a568e3934de203a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b"},"level":"info","message":"Attempting to book experiment","requestID":"72765fa4b381bfbe8a568e3934de203a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b"},"level":"info","message":"Successfully booked experiment","requestID":"72765fa4b381bfbe8a568e3934de203a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d35bc320-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d35c1140-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.621783,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d35bc320-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216196,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d35bc320-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.69324,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d35c1140-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216196,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d35c1140-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:35.996179227Z"}]},"request_id":"8ceb7418-f83e-46c0-9874-0fe4fa1dabbd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.6977658} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d35bc320-4430-11ef-b47c-55a12d3fdb12","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:36.048623962Z"}]},"request_id":"cacc1fe8-7d67-42df-8942-a43e79fb539f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.6982992} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d35c1140-4430-11ef-b47c-55a12d3fdb12","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d35bc320-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23? 200 12ms","method":"GET","requestID":"d35bc320-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d35c1140-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13? 200 10ms","method":"GET","requestID":"d35c1140-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b"},"level":"info","message":"Setting up experiment","requestID":"72765fa4b381bfbe8a568e3934de203a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"72765fa4b381bfbe8a568e3934de203a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"72765fa4b381bfbe8a568e3934de203a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"72765fa4b381bfbe8a568e3934de203a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"72765fa4b381bfbe8a568e3934de203a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"72765fa4b381bfbe8a568e3934de203a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"72765fa4b381bfbe8a568e3934de203a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b"},"level":"info","message":"Successfully set up experiment","requestID":"72765fa4b381bfbe8a568e3934de203a"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d3658720-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d365d540-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d3662360-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b"},"level":"info","message":"Successfully running experiment","requestID":"72765fa4b381bfbe8a568e3934de203a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.701323,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.61136,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d3658720-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216196,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d3658720-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d365d540-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216196,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"d365d540-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54872","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"client_addr":"127.0.0.1:54872","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.353377,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"99cf109d-5083-404a-844e-69573cf48776","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.768819} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:35.996179227Z"}]},"request_id":"bc602bf8-f94a-4083-8e34-883aa70b0558","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.7706861} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d3662360-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d3662360-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:36.048623962Z"}]},"request_id":"fd1ed195-8348-4b2b-a04a-08db519f76c7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.7725902} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"d3658720-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d365d540-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d3662360-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23/signaling 200 23ms","method":"POST","requestID":"d3662360-4430-11ef-b47c-55a12d3fdb12","responseTime":23,"status":200,"url":"/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d3658720-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23? 200 27ms","method":"GET","requestID":"d3658720-4430-11ef-b47c-55a12d3fdb12","responseTime":27,"status":200,"url":"/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d365d540-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13? 200 27ms","method":"GET","requestID":"d365d540-4430-11ef-b47c-55a12d3fdb12","responseTime":27,"status":200,"url":"/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d369f3f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d36a6920-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbcc12fc7-5368-4086-856e-96868c1bd19b#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbcc12fc7-5368-4086-856e-96868c1bd19b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"861efabe-d184-428b-8567-63e0069789eb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.7857025} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c7da304-91e0-460f-ae2f-c3c2bddaf944","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.7859817} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"72765fa4b381bfbe8a568e3934de203a","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.186798,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f46ababb-2805-4480-b3a3-fc0a4e262b09","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.7886658} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d369f3f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d369f3f0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"455fbb66-67a8-4f41-8d3e-9439c0c29096","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.792437} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.810982,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d36a6920-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d36a6920-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d369f3f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13/signaling 200 12ms","method":"POST","requestID":"d369f3f0-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"72765fa4b381bfbe8a568e3934de203a"} gateway-1 | {"time_local":"17/Jul/2024:11:36:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"72765fa4b381bfbe8a568e3934de203a"} experiment-1 | {"level":"info","message":"POST /experiments? 201 145ms","method":"POST","requestID":"72765fa4b381bfbe8a568e3934de203a","responseTime":145,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d36a6920-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23/signaling 200 12ms","method":"POST","requestID":"d36a6920-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d36c8c00-4430-11ef-b47c-55a12d3fdb12"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI","level":"info","message":"auth send jwt","requestID":"88518b37a03aaad44489219cc966447e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"88518b37a03aaad44489219cc966447e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"88518b37a03aaad44489219cc966447e"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8cc02ca-74ef-45f9-b435-1b7f7b996f2f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.8047812} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.73332,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"88518b37a03aaad44489219cc966447e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216196,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"88518b37a03aaad44489219cc966447e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.232962,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d36c8c00-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d36c8c00-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d36c8c00-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:35.996179227Z"}]},"request_id":"65de3531-22ec-4aec-b6ea-b0235569f420","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.8090556} device-1 | {"level":"info","message":"POST /devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13/signaling 200 9ms","method":"POST","requestID":"d36c8c00-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"88518b37a03aaad44489219cc966447e","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"72765fa4b381bfbe8a568e3934de203a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b"},"level":"info","message":"Building connection plan","requestID":"72765fa4b381bfbe8a568e3934de203a"} 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":"d4465fa3-036a-4001-8ac6-7930c46176af"},{"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":"a78e4b30-1b9e-4ed2-a78e-b411170fea5c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6ec1b778-08c2-4e26-9b2d-95507b4b48f2"}]},"level":"info","message":"Built pairwise service configurations","requestID":"72765fa4b381bfbe8a568e3934de203a"} 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/10a7c0c1-636f-4d13-85cd-73b21bcdca13"},{"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/6aa8ad22-07d5-4e1c-adb6-266f2568bd23"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"72765fa4b381bfbe8a568e3934de203a"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d36e60c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"88518b37a03aaad44489219cc966447e"} gateway-1 | {"time_local":"17/Jul/2024:11:36:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23? 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":"88518b37a03aaad44489219cc966447e"} device-1 | {"level":"info","message":"GET /devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23? 200 12ms","method":"GET","requestID":"88518b37a03aaad44489219cc966447e","responseTime":12,"status":200,"url":"/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23?"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.690501,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d36e60c0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216196,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d36e60c0-4430-11ef-b47c-55a12d3fdb12","responseTime":2,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI","level":"info","message":"auth send jwt","requestID":"e8a9ea76004e8a08a263f66e5e521bba"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e8a9ea76004e8a08a263f66e5e521bba","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e8a9ea76004e8a08a263f66e5e521bba"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.626022,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"e8a9ea76004e8a08a263f66e5e521bba","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216196,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5Nn0.9Lzsx5CcGdGtBZxDFFBQiHje8hRymZ2l9Xjazz-tuqI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e8a9ea76004e8a08a263f66e5e521bba","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"94ee16b8-de59-4a1b-bc4a-bf9c71d1d28b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.824094} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"51e484dc-0fe0-402a-bee4-9c0eab83745e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.824256} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:36.048623962Z"}]},"request_id":"9506f75f-0f96-4b6d-afa3-876ecfbc25d2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.824984} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"d36e60c0-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e8a9ea76004e8a08a263f66e5e521bba","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e8a9ea76004e8a08a263f66e5e521bba"} device-1 | {"level":"info","message":"GET /devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13? 200 12ms","method":"GET","requestID":"e8a9ea76004e8a08a263f66e5e521bba","responseTime":12,"status":200,"url":"/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13?"} gateway-1 | {"time_local":"17/Jul/2024:11:36:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13? 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":"e8a9ea76004e8a08a263f66e5e521bba"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d36e60c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d36e60c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4'","requestID":"d36e60c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4'","requestID":"d36e60c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d36e60c0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 26ms","method":"POST","requestID":"d36e60c0-4430-11ef-b47c-55a12d3fdb12","responseTime":26,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d36e60c0-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"72765fa4b381bfbe8a568e3934de203a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d37628f0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db5d51a2-ac88-4a2d-96d5-b17afdc6e2fa","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.8679} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.871145,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d37628f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d37628f0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d37628f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23/signaling 200 8ms","method":"POST","requestID":"d37628f0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d377af90-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8889a811-c9ff-4b5a-b88c-3c433f7a8e48","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216196.8781407} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.886507,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d377af90-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d377af90-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d377af90-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13/signaling 200 9ms","method":"POST","requestID":"d377af90-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13/signaling"} device-1 | {"device":"6aa8ad22-07d5-4e1c-adb6-266f2568bd23","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"10a7c0c1-636f-4d13-85cd-73b21bcdca13","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"10a7c0c1-636f-4d13-85cd-73b21bcdca13","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"10a7c0c1-636f-4d13-85cd-73b21bcdca13","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"10a7c0c1-636f-4d13-85cd-73b21bcdca13","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"10a7c0c1-636f-4d13-85cd-73b21bcdca13","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5ca222a741a444fc645f1c897a6d0eee","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"5ca222a741a444fc645f1c897a6d0eee","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13"},{"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/6aa8ad22-07d5-4e1c-adb6-266f2568bd23"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4"}}},"level":"info","message":"received a callback","requestID":"5ca222a741a444fc645f1c897a6d0eee"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"5ca222a741a444fc645f1c897a6d0eee","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"5ca222a741a444fc645f1c897a6d0eee"} device-1 | {"device":"6aa8ad22-07d5-4e1c-adb6-266f2568bd23","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6aa8ad22-07d5-4e1c-adb6-266f2568bd23","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6aa8ad22-07d5-4e1c-adb6-266f2568bd23","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"10a7c0c1-636f-4d13-85cd-73b21bcdca13","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6aa8ad22-07d5-4e1c-adb6-266f2568bd23","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"10a7c0c1-636f-4d13-85cd-73b21bcdca13","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6aa8ad22-07d5-4e1c-adb6-266f2568bd23","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"data":{"peerconnection":"fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4","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/fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"edb8ec5f0fbd19b1845d06b6703b7ebd","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"edb8ec5f0fbd19b1845d06b6703b7ebd","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/10a7c0c1-636f-4d13-85cd-73b21bcdca13"},{"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/6aa8ad22-07d5-4e1c-adb6-266f2568bd23"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4"}}},"level":"info","message":"received a callback","requestID":"edb8ec5f0fbd19b1845d06b6703b7ebd"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d4b51190-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:38Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffb5a3de0-8bc8-46f5-b9f0-387e9ae580f4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6b75602d-a0c6-4c0d-8409-e086cd79e936","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216198.958717} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.986333,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d4b51190-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4","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","method":"POST","requestID":"d4b51190-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d4b51190-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4 200 10ms","method":"GET","requestID":"d4b51190-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/peerconnections/fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 41ms","method":"POST","requestID":"edb8ec5f0fbd19b1845d06b6703b7ebd","responseTime":41,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"edb8ec5f0fbd19b1845d06b6703b7ebd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4bab6e0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:38Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6555da39-26c2-4154-b956-3b668d5c7f1e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216198.9969976} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.387116,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d4bab6e0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d4bab6e0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4bab6e0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13/signaling 200 13ms","method":"POST","requestID":"d4bab6e0-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4bd00d0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:39Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a7f5b21-7a02-4ca8-9fdb-3bf3f7822bc9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216199.0116076} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.877046,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d4bd00d0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d4bd00d0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4bd00d0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23/signaling 200 12ms","method":"POST","requestID":"d4bd00d0-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5OX0.jd70SGxQm_zXbbJaFb7_wkO2GN1DuFK3LUM7gXT4Z5w","level":"info","message":"auth send jwt","requestID":"1b82e897164d6a2dc41098a72a8e02fe"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1b82e897164d6a2dc41098a72a8e02fe","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/bcc12fc7-5368-4086-856e-96868c1bd19b","requestID":"1b82e897164d6a2dc41098a72a8e02fe"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.354563,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"1b82e897164d6a2dc41098a72a8e02fe","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216199,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5OX0.jd70SGxQm_zXbbJaFb7_wkO2GN1DuFK3LUM7gXT4Z5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1b82e897164d6a2dc41098a72a8e02fe","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/bcc12fc7-5368-4086-856e-96868c1bd19b","requestID":"1b82e897164d6a2dc41098a72a8e02fe"} experiment-1 | {"level":"info","message":"GET /experiments/bcc12fc7-5368-4086-856e-96868c1bd19b 200 14ms","method":"GET","requestID":"1b82e897164d6a2dc41098a72a8e02fe","responseTime":14,"status":200,"url":"/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b"} gateway-1 | {"time_local":"17/Jul/2024:11:36:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/bcc12fc7-5368-4086-856e-96868c1bd19b HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1b82e897164d6a2dc41098a72a8e02fe"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5OX0.jd70SGxQm_zXbbJaFb7_wkO2GN1DuFK3LUM7gXT4Z5w","level":"info","message":"auth send jwt","requestID":"9d16c4fbc84863d07b84d4c37e36237e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9d16c4fbc84863d07b84d4c37e36237e","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/bcc12fc7-5368-4086-856e-96868c1bd19b","requestID":"9d16c4fbc84863d07b84d4c37e36237e"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.484193,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"9d16c4fbc84863d07b84d4c37e36237e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216199,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5OX0.jd70SGxQm_zXbbJaFb7_wkO2GN1DuFK3LUM7gXT4Z5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9d16c4fbc84863d07b84d4c37e36237e","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b"},"level":"info","message":"Attempting to finish experiment","requestID":"9d16c4fbc84863d07b84d4c37e36237e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d4c8c0a0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.2374,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d4c8c0a0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216199,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5OX0.jd70SGxQm_zXbbJaFb7_wkO2GN1DuFK3LUM7gXT4Z5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d4c8c0a0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"device":"10a7c0c1-636f-4d13-85cd-73b21bcdca13","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"10a7c0c1-636f-4d13-85cd-73b21bcdca13","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"10a7c0c1-636f-4d13-85cd-73b21bcdca13","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6aa8ad22-07d5-4e1c-adb6-266f2568bd23","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6aa8ad22-07d5-4e1c-adb6-266f2568bd23","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6aa8ad22-07d5-4e1c-adb6-266f2568bd23","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":62,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffb5a3de0-8bc8-46f5-b9f0-387e9ae580f4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffb5a3de0-8bc8-46f5-b9f0-387e9ae580f4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"781fbcf9-1b93-44d5-a92a-27c8b15b20d6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216199.1081665} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6245bed5-368b-4556-bf78-62103178ed52","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216199.1085079} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b4463a786dfe510d1270602f90be0d93","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 13ms","method":"POST","requestID":"d4c8c0a0-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b4463a786dfe510d1270602f90be0d93","responseTime":2,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ec1116dea514f6e5900f5410db583c7a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ec1116dea514f6e5900f5410db583c7a","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13"},{"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/6aa8ad22-07d5-4e1c-adb6-266f2568bd23"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4"}}},"level":"info","message":"received a callback","requestID":"b4463a786dfe510d1270602f90be0d93"} 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/10a7c0c1-636f-4d13-85cd-73b21bcdca13"},{"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/6aa8ad22-07d5-4e1c-adb6-266f2568bd23"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4"}}},"level":"info","message":"received a callback","requestID":"ec1116dea514f6e5900f5410db583c7a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d4c8c0a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4 204 49ms","method":"DELETE","requestID":"d4c8c0a0-4430-11ef-b47c-55a12d3fdb12","responseTime":49,"status":204,"url":"/peerconnections/fb5a3de0-8bc8-46f5-b9f0-387e9ae580f4"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b"},"level":"info","message":"Successfully finished experiment","requestID":"9d16c4fbc84863d07b84d4c37e36237e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4d36f00-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:39Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F10a7c0c1-636f-4d13-85cd-73b21bcdca13","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed5ab632-291f-4c22-a04d-fc21f88bb945","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216199.1572964} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.118675,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d4d36f00-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d4d36f00-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4d36f00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13/signaling 200 12ms","method":"POST","requestID":"d4d36f00-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbcc12fc7-5368-4086-856e-96868c1bd19b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbcc12fc7-5368-4086-856e-96868c1bd19b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"32324e85-428f-4057-9f9b-3f23562a5adf","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216199.1667402} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d4d591e0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"104473cd-248e-49c7-857c-342af0df9800","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216199.1669433} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"9d16c4fbc84863d07b84d4c37e36237e","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:39Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6aa8ad22-07d5-4e1c-adb6-266f2568bd23","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"54d0f433-28fd-4572-b626-ae4a78f104c0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216199.1745636} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.783774,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d4d591e0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d4d591e0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d4d591e0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23/signaling 200 16ms","method":"POST","requestID":"d4d591e0-4430-11ef-b47c-55a12d3fdb12","responseTime":16,"status":200,"url":"/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/bcc12fc7-5368-4086-856e-96868c1bd19b","requestID":"9d16c4fbc84863d07b84d4c37e36237e"} gateway-1 | {"time_local":"17/Jul/2024:11:36:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/bcc12fc7-5368-4086-856e-96868c1bd19b 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":"9d16c4fbc84863d07b84d4c37e36237e"} gateway-1 | {"time_local":"17/Jul/2024:11:36:39 +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.648","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"59d26989cb4f3806697072cb18e1a0c7"} experiment-1 | {"level":"info","message":"DELETE /experiments/bcc12fc7-5368-4086-856e-96868c1bd19b 204 163ms","method":"DELETE","requestID":"9d16c4fbc84863d07b84d4c37e36237e","responseTime":163,"status":204,"url":"/experiments/bcc12fc7-5368-4086-856e-96868c1bd19b"} gateway-1 | {"time_local":"17/Jul/2024:11:36:39 +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.639","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"faccb5e2e7c6c2cf24ecda0f10694bd5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 118ms","method":"POST","requestID":"b4463a786dfe510d1270602f90be0d93","responseTime":118,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.123","http_referrer":"","http_user_agent":"node-fetch","requestID":"b4463a786dfe510d1270602f90be0d93"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 117ms","method":"POST","requestID":"ec1116dea514f6e5900f5410db583c7a","responseTime":117,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.124","http_referrer":"","http_user_agent":"node-fetch","requestID":"ec1116dea514f6e5900f5410db583c7a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5OX0.jd70SGxQm_zXbbJaFb7_wkO2GN1DuFK3LUM7gXT4Z5w","level":"info","message":"auth send jwt","requestID":"67759789fecc8c59dc7c1962e298ab1d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"67759789fecc8c59dc7c1962e298ab1d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"67759789fecc8c59dc7c1962e298ab1d"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6aa8ad22-07d5-4e1c-adb6-266f2568bd23' closed"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.010804,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"67759789fecc8c59dc7c1962e298ab1d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216199,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5OX0.jd70SGxQm_zXbbJaFb7_wkO2GN1DuFK3LUM7gXT4Z5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"67759789fecc8c59dc7c1962e298ab1d","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/10a7c0c1-636f-4d13-85cd-73b21bcdca13' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8f6aa5fd-4940-43a4-863e-6f95c5050ba4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216199.2653127} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"67759789fecc8c59dc7c1962e298ab1d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a03bab5d-8430-4850-b0f6-710e13e941d0","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216199.272034} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"67759789fecc8c59dc7c1962e298ab1d","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"f9970952-a81e-43f7-86d5-7c746bca0efe","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216199.2836182} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e7ffab1-1c1d-4f24-ae8e-a22540c943e2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216199.283839} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"67759789fecc8c59dc7c1962e298ab1d","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:39.283582318Z"}]},"request_id":"f7b4443f-0805-49de-8916-1d3c5b17178a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216199.2888913} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"67759789fecc8c59dc7c1962e298ab1d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"67759789fecc8c59dc7c1962e298ab1d"} gateway-1 | {"time_local":"17/Jul/2024:11:36:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"67759789fecc8c59dc7c1962e298ab1d"} device-1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"67759789fecc8c59dc7c1962e298ab1d","responseTime":54,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5OX0.jd70SGxQm_zXbbJaFb7_wkO2GN1DuFK3LUM7gXT4Z5w","level":"info","message":"auth send jwt","requestID":"f9b243ed2924d51693b6a5cad821a31d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f9b243ed2924d51693b6a5cad821a31d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f9b243ed2924d51693b6a5cad821a31d"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:39Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.790086,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"f9b243ed2924d51693b6a5cad821a31d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216199,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjE5OX0.jd70SGxQm_zXbbJaFb7_wkO2GN1DuFK3LUM7gXT4Z5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f9b243ed2924d51693b6a5cad821a31d","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"20195ed3-8124-48d2-8e8a-f75bb8b0e00c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216199.3154328} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f9b243ed2924d51693b6a5cad821a31d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eb3c2d36-9cd0-4f92-9ff9-65f4c7073038","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216199.3211} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"f9b243ed2924d51693b6a5cad821a31d","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"032735e5-a067-48cf-94b3-10221068b5ff","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216199.3381972} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fda189b9-2662-4154-aa61-d418de1c0641","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216199.3382819} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"f9b243ed2924d51693b6a5cad821a31d","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:39.338160499Z"}]},"request_id":"24590eeb-d706-44f5-a18c-f6abd452e4d5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216199.34345} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f9b243ed2924d51693b6a5cad821a31d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f9b243ed2924d51693b6a5cad821a31d"} gateway-1 | {"time_local":"17/Jul/2024:11:36:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f9b243ed2924d51693b6a5cad821a31d"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"f9b243ed2924d51693b6a5cad821a31d","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c0fd4bbfe3554440718e4fa50b59ea00","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c0fd4bbfe3554440718e4fa50b59ea00","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:36:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1/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":"c0fd4bbfe3554440718e4fa50b59ea00"} device-1 | {"level":"info","message":"OPTIONS /devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1/websocket 200 1ms","method":"OPTIONS","requestID":"c0fd4bbfe3554440718e4fa50b59ea00","responseTime":1,"status":200,"url":"/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw","level":"info","message":"auth send jwt","requestID":"45134addd428ed610927659cb9c9aa04"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"45134addd428ed610927659cb9c9aa04","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"45134addd428ed610927659cb9c9aa04"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.88426,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"45134addd428ed610927659cb9c9aa04","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216201,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"45134addd428ed610927659cb9c9aa04","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f0b85a36a0944fb1957bdae7b2ef5a54","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f0b85a36a0944fb1957bdae7b2ef5a54","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:36:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515/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":"f0b85a36a0944fb1957bdae7b2ef5a54"} device-1 | {"level":"info","message":"OPTIONS /devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515/websocket 200 1ms","method":"OPTIONS","requestID":"f0b85a36a0944fb1957bdae7b2ef5a54","responseTime":1,"status":200,"url":"/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw","level":"info","message":"auth send jwt","requestID":"a2cd21f1f5c70fb8fd08ecf6d8e3bd83"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a2cd21f1f5c70fb8fd08ecf6d8e3bd83","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a2cd21f1f5c70fb8fd08ecf6d8e3bd83"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"45134addd428ed610927659cb9c9aa04"} device-1 | {"level":"info","message":"POST /devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1/websocket 200 20ms","method":"POST","requestID":"45134addd428ed610927659cb9c9aa04","responseTime":20,"status":200,"url":"/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:36:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1/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":"45134addd428ed610927659cb9c9aa04"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.746787,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"a2cd21f1f5c70fb8fd08ecf6d8e3bd83","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216201,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a2cd21f1f5c70fb8fd08ecf6d8e3bd83","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a2cd21f1f5c70fb8fd08ecf6d8e3bd83"} gateway-1 | {"time_local":"17/Jul/2024:11:36:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a2cd21f1f5c70fb8fd08ecf6d8e3bd83"} device-1 | {"level":"info","message":"POST /devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515/websocket 200 17ms","method":"POST","requestID":"a2cd21f1f5c70fb8fd08ecf6d8e3bd83","responseTime":17,"status":200,"url":"/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw","level":"info","message":"auth send jwt","requestID":"d24942c8153325aace4b20adf7316e6a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d24942c8153325aace4b20adf7316e6a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d24942c8153325aace4b20adf7316e6a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.001151,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d24942c8153325aace4b20adf7316e6a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216201,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d24942c8153325aace4b20adf7316e6a","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:39.283582318Z"}]},"request_id":"2e03ccc1-2eac-4aa7-9915-fa82a11715b5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.339229} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d24942c8153325aace4b20adf7316e6a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d24942c8153325aace4b20adf7316e6a"} gateway-1 | {"time_local":"17/Jul/2024:11:36:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1? 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":"d24942c8153325aace4b20adf7316e6a"} device-1 | {"level":"info","message":"GET /devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1? 200 12ms","method":"GET","requestID":"d24942c8153325aace4b20adf7316e6a","responseTime":12,"status":200,"url":"/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw","level":"info","message":"auth send jwt","requestID":"c495fb6c01bf03af545a02016aa655f4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c495fb6c01bf03af545a02016aa655f4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c495fb6c01bf03af545a02016aa655f4"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.59554,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c495fb6c01bf03af545a02016aa655f4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216201,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c495fb6c01bf03af545a02016aa655f4","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:39.338160499Z"}]},"request_id":"5646005c-9b01-4bf4-86b8-1ca339ad5b70","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.359018} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c495fb6c01bf03af545a02016aa655f4","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c495fb6c01bf03af545a02016aa655f4"} device-1 | {"level":"info","message":"GET /devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515? 200 15ms","method":"GET","requestID":"c495fb6c01bf03af545a02016aa655f4","responseTime":15,"status":200,"url":"/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515?"} gateway-1 | {"time_local":"17/Jul/2024:11:36:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515? 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":"c495fb6c01bf03af545a02016aa655f4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw","level":"info","message":"auth send jwt","requestID":"57be76126244868512860e1c21c06919"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"57be76126244868512860e1c21c06919","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"57be76126244868512860e1c21c06919"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.765959,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"57be76126244868512860e1c21c06919","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216201,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"57be76126244868512860e1c21c06919","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4"},"level":"info","message":"Attempting to run experiment","requestID":"57be76126244868512860e1c21c06919"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4"},"level":"info","message":"Attempting to book experiment","requestID":"57be76126244868512860e1c21c06919"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4"},"level":"info","message":"Successfully booked experiment","requestID":"57be76126244868512860e1c21c06919"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d62b5de0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d62b84f0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.590328,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d62b5de0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216201,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d62b5de0-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.629135,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d62b84f0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216201,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d62b84f0-4430-11ef-b47c-55a12d3fdb12","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:39.283582318Z"}]},"request_id":"c69525f4-7ff5-4cc8-a799-17cad065a6c3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.413323} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d62b5de0-4430-11ef-b47c-55a12d3fdb12","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:39.338160499Z"}]},"request_id":"57abd414-eb39-4a49-bf1a-3020220bf24f","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.4140751} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d62b84f0-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d62b5de0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1? 200 13ms","method":"GET","requestID":"d62b5de0-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d62b84f0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515? 200 13ms","method":"GET","requestID":"d62b84f0-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4"},"level":"info","message":"Setting up experiment","requestID":"57be76126244868512860e1c21c06919"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"57be76126244868512860e1c21c06919"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4"},"level":"info","message":"Successfully locked booking for experiment","requestID":"57be76126244868512860e1c21c06919"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"57be76126244868512860e1c21c06919"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"57be76126244868512860e1c21c06919"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4"},"level":"info","message":"Attempting to update booking for experiment","requestID":"57be76126244868512860e1c21c06919"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4"},"level":"info","message":"Successfully updated booking for experiment","requestID":"57be76126244868512860e1c21c06919"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4"},"level":"info","message":"Successfully set up experiment","requestID":"57be76126244868512860e1c21c06919"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d6359710-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d635be20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d635e530-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4"},"level":"info","message":"Successfully running experiment","requestID":"57be76126244868512860e1c21c06919"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.955438,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d6359710-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216201,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d6359710-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.916755,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d635be20-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216201,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d635be20-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52824","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:39.283582318Z"}]},"request_id":"4f1df217-e17f-45ea-9b6d-b35125f9f68d","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.4830437} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf744a51-d753-4313-a0e1-be4763ccdbe4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.483171} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d6359710-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:39.338160499Z"}]},"request_id":"df43adac-b393-49e6-a952-eaa6c1c38d80","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.48435} authorization-1 | {"client_addr":"127.0.0.1:52824","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.798661,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d635e530-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d635e530-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"d635be20-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d6359710-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1? 200 16ms","method":"GET","requestID":"d6359710-4430-11ef-b47c-55a12d3fdb12","responseTime":16,"status":200,"url":"/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d635e530-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1/signaling 200 15ms","method":"POST","requestID":"d635e530-4430-11ef-b47c-55a12d3fdb12","responseTime":15,"status":200,"url":"/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d635be20-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515? 200 17ms","method":"GET","requestID":"d635be20-4430-11ef-b47c-55a12d3fdb12","responseTime":17,"status":200,"url":"/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d6387d40-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d638cb60-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.576407,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3024cc7c-369d-420a-8c5e-6b833df39bd4#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3024cc7c-369d-420a-8c5e-6b833df39bd4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"3c998101-935e-4c04-9726-643c8a2f2c05","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.4982998} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a44f096-aa4a-4e26-baa9-df53b751a0e9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.4984348} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f91173e0-ff40-45bb-a75d-16c6d867393a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.4985735} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d6387d40-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d6387d40-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"57be76126244868512860e1c21c06919","responseTime":24,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.544178,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f38fad90-7a91-460a-8e94-0c5bddf88d11","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.5022593} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d638cb60-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d638cb60-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d6387d40-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515/signaling 200 14ms","method":"POST","requestID":"d6387d40-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d638cb60-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1/signaling 200 14ms","method":"POST","requestID":"d638cb60-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"57be76126244868512860e1c21c06919"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d63b6370-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"level":"info","message":"POST /experiments? 201 141ms","method":"POST","requestID":"57be76126244868512860e1c21c06919","responseTime":141,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"17/Jul/2024:11:36:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"57be76126244868512860e1c21c06919"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d4c54ba5-a6be-4101-ba8b-b871c83bd649","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.5161972} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.990747,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d63b6370-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d63b6370-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw","level":"info","message":"auth send jwt","requestID":"173708b500bf4d76167fe6c406b6046b"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"173708b500bf4d76167fe6c406b6046b","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"173708b500bf4d76167fe6c406b6046b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d63b6370-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515/signaling 200 11ms","method":"POST","requestID":"d63b6370-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515/signaling"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"57be76126244868512860e1c21c06919"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4"},"level":"info","message":"Building connection plan","requestID":"57be76126244868512860e1c21c06919"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"fc4b1b17-0292-4b6f-baf3-b77bb942cfce"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"cd6f3c6c-489d-4105-8559-91844d0c8f34"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"856aabf5-efb9-42ed-a019-ecd0922c23bd"}]},"level":"info","message":"Built pairwise service configurations","requestID":"57be76126244868512860e1c21c06919"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"57be76126244868512860e1c21c06919"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.964021,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"173708b500bf4d76167fe6c406b6046b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216201,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"173708b500bf4d76167fe6c406b6046b","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d63d8650-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.939804,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d63d8650-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216201,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d63d8650-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:39.283582318Z"}]},"request_id":"54462c77-bf90-4b9d-b584-555ad911b1fd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.5304315} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"173708b500bf4d76167fe6c406b6046b","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"173708b500bf4d76167fe6c406b6046b"} gateway-1 | {"time_local":"17/Jul/2024:11:36:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1? 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":"173708b500bf4d76167fe6c406b6046b"} device-1 | {"level":"info","message":"GET /devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1? 200 16ms","method":"GET","requestID":"173708b500bf4d76167fe6c406b6046b","responseTime":16,"status":200,"url":"/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw","level":"info","message":"auth send jwt","requestID":"f51d05c1390be8c6d82724aa73a75cd3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f51d05c1390be8c6d82724aa73a75cd3","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"2e9c562e-5f83-4c9f-bb75-95da69d29e65","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.5423543} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f51d05c1390be8c6d82724aa73a75cd3"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ea404977-8b5d-42f3-ba7d-c452fdef13fa","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.5426643} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"d63d8650-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.160327,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"f51d05c1390be8c6d82724aa73a75cd3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216201,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f51d05c1390be8c6d82724aa73a75cd3","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:39.338160499Z"}]},"request_id":"8b9303cc-055b-4836-b648-b28c9f99fad4","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.5534894} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f51d05c1390be8c6d82724aa73a75cd3","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d63d8650-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d63d8650-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b'","requestID":"d63d8650-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b'","requestID":"d63d8650-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d63d8650-4430-11ef-b47c-55a12d3fdb12"} 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":"d63d8650-4430-11ef-b47c-55a12d3fdb12","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","requestID":"f51d05c1390be8c6d82724aa73a75cd3"} device-1 | {"level":"info","message":"GET /devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515? 200 17ms","method":"GET","requestID":"f51d05c1390be8c6d82724aa73a75cd3","responseTime":17,"status":200,"url":"/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515?"} gateway-1 | {"time_local":"17/Jul/2024:11:36:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515? 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":"f51d05c1390be8c6d82724aa73a75cd3"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d63d8650-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b","device":"1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b","device":"8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"57be76126244868512860e1c21c06919"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d646ae10-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"77b2ab18-4432-4d6f-bc4f-6a5615b441b3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.5892456} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.283152,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d646ae10-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d646ae10-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d646ae10-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1/signaling 200 8ms","method":"POST","requestID":"d646ae10-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d64834b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"device":"1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b1c9080a-6f3f-48e9-89d9-4d68e89b6675","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.5995982} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.202698,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d64834b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d64834b0-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d64834b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515/signaling 200 7ms","method":"POST","requestID":"d64834b0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515/signaling"} device-1 | {"device":"8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 4767774487872616282 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:eB4x\r\na=ice-pwd:qBtMSFYuQGpH98ckMlZQ7DO1\r\na=ice-options:trickle\r\na=fingerprint:sha-256 72:D4:23:EE:55:0E:F1:F1:E4:40:AD:54:9D:56:DF:2E:A6:CD:A0:3D:ED:98:60:44:44:B9:F9:8B:F2:C3:0D:4D\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 6350317378925644667 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:UCqo\r\na=ice-pwd:6TZ0fHvMyqzAWNY0OElTerfu\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A8:9D:D7:79:4D:54:1B:77:23:15:A7:AA:5E:A8:84:E9:8D:23:C0:2A:23:50:68:E1:AE:6F:97:0C:88:95:03:F8\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:396259976 1 udp 2113937151 cb65fb50-dc4e-4a5e-be0d-ad55c4403041.local 58355 typ host generation 0 ufrag UCqo network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2226508699 1 udp 1677729535 141.24.211.56 58355 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag UCqo network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1'"} device-1 | {"content":{"candidate":"candidate:381681941 1 udp 2113937151 63aa5f5e-acce-4891-be25-6e02ac97b429.local 43650 typ host generation 0 ufrag eB4x network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:2465033066 1 udp 1677729535 141.24.211.56 43650 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag eB4x network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515'"} device-1 | {"device":"8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"91b344e7-89cc-4db6-b852-734ba83a071b","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c56946b5dc8f4b714d2d55a5135208f8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c56946b5dc8f4b714d2d55a5135208f8","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/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b"}}},"level":"info","message":"received a callback","requestID":"c56946b5dc8f4b714d2d55a5135208f8"} device-1 | {"device":"8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"c56946b5dc8f4b714d2d55a5135208f8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"c56946b5dc8f4b714d2d55a5135208f8","responseTime":6,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"91b344e7-89cc-4db6-b852-734ba83a071b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"91b344e7-89cc-4db6-b852-734ba83a071b","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/91b344e7-89cc-4db6-b852-734ba83a071b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"91b344e7-89cc-4db6-b852-734ba83a071b","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"93fb7f3c250c026ce466aef09f4dbb42","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"93fb7f3c250c026ce466aef09f4dbb42","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/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b"}}},"level":"info","message":"received a callback","requestID":"93fb7f3c250c026ce466aef09f4dbb42"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d654dee0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F91b344e7-89cc-4db6-b852-734ba83a071b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e852fe4f-a054-42a6-af25-ada1253a5e0c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.6821022} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.116233,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d654dee0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b","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","method":"POST","requestID":"d654dee0-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d654dee0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b 200 7ms","method":"GET","requestID":"d654dee0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"93fb7f3c250c026ce466aef09f4dbb42","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"93fb7f3c250c026ce466aef09f4dbb42"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d658af70-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0288b82d-11ae-4d37-877c-57747f141c04","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.707419} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.179007,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d658af70-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d658af70-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d658af70-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1/signaling 200 8ms","method":"POST","requestID":"d658af70-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d65a3610-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2408f885-f5c1-48e1-be7d-2032bdbba2b6","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.7174387} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.09934,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d65a3610-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d65a3610-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d65a3610-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515/signaling 200 8ms","method":"POST","requestID":"d65a3610-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw","level":"info","message":"auth send jwt","requestID":"8a583ae15fac2cd9577dfcdc9892287a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8a583ae15fac2cd9577dfcdc9892287a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4","requestID":"8a583ae15fac2cd9577dfcdc9892287a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.091564,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"8a583ae15fac2cd9577dfcdc9892287a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216201,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8a583ae15fac2cd9577dfcdc9892287a","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4","requestID":"8a583ae15fac2cd9577dfcdc9892287a"} gateway-1 | {"time_local":"17/Jul/2024:11:36:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4 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":"8a583ae15fac2cd9577dfcdc9892287a"} experiment-1 | {"level":"info","message":"GET /experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4 200 10ms","method":"GET","requestID":"8a583ae15fac2cd9577dfcdc9892287a","responseTime":10,"status":200,"url":"/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw","level":"info","message":"auth send jwt","requestID":"d521fa4b2e404973d6934003b3b7addb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d521fa4b2e404973d6934003b3b7addb","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4","requestID":"d521fa4b2e404973d6934003b3b7addb"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.181946,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d521fa4b2e404973d6934003b3b7addb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216201,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d521fa4b2e404973d6934003b3b7addb","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4"},"level":"info","message":"Attempting to finish experiment","requestID":"d521fa4b2e404973d6934003b3b7addb"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d6642120-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.684532,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d6642120-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216201,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d6642120-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b","device":"1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b","device":"8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"91b344e7-89cc-4db6-b852-734ba83a071b","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c2f4d06-ced2-4d52-8d11-762a0fd961dd","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.7971864} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"22f787ed242a6fa48e15a79f0e208ec8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F91b344e7-89cc-4db6-b852-734ba83a071b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F91b344e7-89cc-4db6-b852-734ba83a071b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"5707ca33-5f1a-4a94-a324-b4217f3df1ec","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.7976873} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"22f787ed242a6fa48e15a79f0e208ec8","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e1de340b51d35faf00c823f9a4928adc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b"}}},"level":"info","message":"received a callback","requestID":"22f787ed242a6fa48e15a79f0e208ec8"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"d6642120-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e1de340b51d35faf00c823f9a4928adc","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/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b"}}},"level":"info","message":"received a callback","requestID":"e1de340b51d35faf00c823f9a4928adc"} device-1 | {"data":{"peerconnection":"91b344e7-89cc-4db6-b852-734ba83a071b","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d6642120-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b 204 40ms","method":"DELETE","requestID":"d6642120-4430-11ef-b47c-55a12d3fdb12","responseTime":40,"status":204,"url":"/peerconnections/91b344e7-89cc-4db6-b852-734ba83a071b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4"},"level":"info","message":"Successfully finished experiment","requestID":"d521fa4b2e404973d6934003b3b7addb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d66caca0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"62aaf3c6-fe94-4cfa-a6a7-87b6ad787cb3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.8400774} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.58981,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d66caca0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d66caca0-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d66caca0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1/signaling 200 12ms","method":"POST","requestID":"d66caca0-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1/signaling"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3024cc7c-369d-420a-8c5e-6b833df39bd4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3024cc7c-369d-420a-8c5e-6b833df39bd4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"61a74f55-d8e1-4f82-8404-750e9cc7c764","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.8475077} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c84a8f33-7879-4933-b915-2f39d93f8433","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.8482037} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d66ef690-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"d521fa4b2e404973d6934003b3b7addb","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b0c8a851-66a9-4430-b50e-bff391f04694","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.8587732} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.276516,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d66ef690-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d66ef690-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d66ef690-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515/signaling 200 18ms","method":"POST","requestID":"d66ef690-4430-11ef-b47c-55a12d3fdb12","responseTime":18,"status":200,"url":"/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4","requestID":"d521fa4b2e404973d6934003b3b7addb"} gateway-1 | {"time_local":"17/Jul/2024:11:36:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.158","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d521fa4b2e404973d6934003b3b7addb"} experiment-1 | {"level":"info","message":"DELETE /experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4 204 157ms","method":"DELETE","requestID":"d521fa4b2e404973d6934003b3b7addb","responseTime":157,"status":204,"url":"/experiments/3024cc7c-369d-420a-8c5e-6b833df39bd4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"22f787ed242a6fa48e15a79f0e208ec8","responseTime":129,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.132","http_referrer":"","http_user_agent":"node-fetch","requestID":"22f787ed242a6fa48e15a79f0e208ec8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"e1de340b51d35faf00c823f9a4928adc","responseTime":129,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw","level":"info","message":"auth send jwt","requestID":"7ade9958cf45691199f4570c7dab5fff"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.135","http_referrer":"","http_user_agent":"node-fetch","requestID":"e1de340b51d35faf00c823f9a4928adc"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7ade9958cf45691199f4570c7dab5fff","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7ade9958cf45691199f4570c7dab5fff"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.299154,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"7ade9958cf45691199f4570c7dab5fff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216201,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw"} gateway-1 | {"time_local":"17/Jul/2024:11:36:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"0.626","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2c49751dbd3e989cabf280e5b6faabfc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7ade9958cf45691199f4570c7dab5fff","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"17/Jul/2024:11:36:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"0.644","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"22f13c56bfd93e2d6f1980bda10c219f"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8a1c8eb4-c99c-4b1b-814b-2eefe7fc3515' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1647dc9e-91f4-4f92-8c3b-d3ad57b515d1' 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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7dc2467-5aed-400e-9119-44b977397933","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2ac12270-4234-4806-9cf1-d3641c25aee2","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.9554305} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7ade9958cf45691199f4570c7dab5fff","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b048eba1-417a-45f2-af77-fb979a007eeb","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.9610124} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"7ade9958cf45691199f4570c7dab5fff","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7dc2467-5aed-400e-9119-44b977397933","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"400f134d-eb3e-47df-92ee-892f15ba7014","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.9733136} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9e546465-2c2c-416d-8b03-c823d4d6f6a3","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.973499} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"7ade9958cf45691199f4570c7dab5fff","responseTime":14,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7dc2467-5aed-400e-9119-44b977397933","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7dc2467-5aed-400e-9119-44b977397933","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:41.973287162Z"}]},"request_id":"b2264731-2d39-4c3c-baa1-e55b81d44b58","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.9774728} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7ade9958cf45691199f4570c7dab5fff","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7ade9958cf45691199f4570c7dab5fff"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"7ade9958cf45691199f4570c7dab5fff","responseTime":47,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"17/Jul/2024:11:36:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ade9958cf45691199f4570c7dab5fff"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw","level":"info","message":"auth send jwt","requestID":"e1e734ccd1dcc25ca769dca3c8e4b65a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e1e734ccd1dcc25ca769dca3c8e4b65a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"e1e734ccd1dcc25ca769dca3c8e4b65a"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.658699,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"e1e734ccd1dcc25ca769dca3c8e4b65a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216201,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwMX0.z4nbGNpGtBtCxbiKiVF1wjMcCV0dGbcFuPyZet9sHSw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e1e734ccd1dcc25ca769dca3c8e4b65a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d7ce8fd3-536d-4389-bd16-633b694fdc27","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216201.9998062} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e1e734ccd1dcc25ca769dca3c8e4b65a","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ecb001e-59fc-45af-9755-c5084fad02d5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216202.0038657} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e1e734ccd1dcc25ca769dca3c8e4b65a","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"c940e923-c7d1-42ec-83fe-fe13b7f01934","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216202.0136333} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"199c133e-90ec-4c5b-b6c1-8c991964436e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216202.0138535} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"e1e734ccd1dcc25ca769dca3c8e4b65a","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:42.013606797Z"}]},"request_id":"3f6c4634-022e-48d9-b3ba-4626b6f2b73e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216202.0171185} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e1e734ccd1dcc25ca769dca3c8e4b65a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"e1e734ccd1dcc25ca769dca3c8e4b65a"} device-1 | {"level":"info","message":"POST /devices? 201 34ms","method":"POST","requestID":"e1e734ccd1dcc25ca769dca3c8e4b65a","responseTime":34,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"17/Jul/2024:11:36: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.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e1e734ccd1dcc25ca769dca3c8e4b65a"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8112694bb410df050dba94dbd54e418b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"8112694bb410df050dba94dbd54e418b","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:36:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/42a579a9-406d-4155-90f7-fcdfa05b3027/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":"8112694bb410df050dba94dbd54e418b"} device-1 | {"level":"info","message":"OPTIONS /devices/42a579a9-406d-4155-90f7-fcdfa05b3027/websocket 200 1ms","method":"OPTIONS","requestID":"8112694bb410df050dba94dbd54e418b","responseTime":1,"status":200,"url":"/devices/42a579a9-406d-4155-90f7-fcdfa05b3027/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwM30.Uz3WZ9oi78oXl6xE98iADPFGhzh8TXT_0pZnlIlqR_s","level":"info","message":"auth send jwt","requestID":"907353e2a7791d19463f37aec14f9051"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"907353e2a7791d19463f37aec14f9051","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"907353e2a7791d19463f37aec14f9051"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:43Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.305756,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"907353e2a7791d19463f37aec14f9051","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216203,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwM30.Uz3WZ9oi78oXl6xE98iADPFGhzh8TXT_0pZnlIlqR_s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"907353e2a7791d19463f37aec14f9051","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"907353e2a7791d19463f37aec14f9051"} device-1 | {"level":"info","message":"POST /devices/42a579a9-406d-4155-90f7-fcdfa05b3027/websocket 200 21ms","method":"POST","requestID":"907353e2a7791d19463f37aec14f9051","responseTime":21,"status":200,"url":"/devices/42a579a9-406d-4155-90f7-fcdfa05b3027/websocket"} gateway-1 | {"time_local":"17/Jul/2024:11:36:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/42a579a9-406d-4155-90f7-fcdfa05b3027/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":"907353e2a7791d19463f37aec14f9051"} device-1 | {"level":"info","message":"device 'http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwNH0.qCss43xIGmz2d6X94ZRjipa9reAUHD_MoalP2BB0v2I","level":"info","message":"auth send jwt","requestID":"2f256aff30071e22a2c204fda31938ae"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2f256aff30071e22a2c204fda31938ae","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2f256aff30071e22a2c204fda31938ae"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:44Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.304936,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"2f256aff30071e22a2c204fda31938ae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216204,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwNH0.qCss43xIGmz2d6X94ZRjipa9reAUHD_MoalP2BB0v2I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2f256aff30071e22a2c204fda31938ae","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:42.013606797Z"}]},"request_id":"f5072fda-263f-4a2f-afb0-c0cdda822327","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216204.0303578} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2f256aff30071e22a2c204fda31938ae","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2f256aff30071e22a2c204fda31938ae"} device-1 | {"level":"info","message":"GET /devices/42a579a9-406d-4155-90f7-fcdfa05b3027? 200 16ms","method":"GET","requestID":"2f256aff30071e22a2c204fda31938ae","responseTime":16,"status":200,"url":"/devices/42a579a9-406d-4155-90f7-fcdfa05b3027?"} gateway-1 | {"time_local":"17/Jul/2024:11:36:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/42a579a9-406d-4155-90f7-fcdfa05b3027? 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":"2f256aff30071e22a2c204fda31938ae"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwNH0.qCss43xIGmz2d6X94ZRjipa9reAUHD_MoalP2BB0v2I","level":"info","message":"auth send jwt","requestID":"abef23f3adcbb05cb62437498ebde1d5"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"abef23f3adcbb05cb62437498ebde1d5","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"abef23f3adcbb05cb62437498ebde1d5"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:44Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.128434,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"abef23f3adcbb05cb62437498ebde1d5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216204,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwNH0.qCss43xIGmz2d6X94ZRjipa9reAUHD_MoalP2BB0v2I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"abef23f3adcbb05cb62437498ebde1d5","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79"},"level":"info","message":"Attempting to run experiment","requestID":"abef23f3adcbb05cb62437498ebde1d5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79"},"level":"info","message":"Attempting to book experiment","requestID":"abef23f3adcbb05cb62437498ebde1d5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79"},"level":"info","message":"Successfully booked experiment","requestID":"abef23f3adcbb05cb62437498ebde1d5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d7c3d830-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d7c42650-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:44Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.632213,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:44Z"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7dc2467-5aed-400e-9119-44b977397933","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d7c3d830-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/d7dc2467-5aed-400e-9119-44b977397933","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216204,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwNH0.qCss43xIGmz2d6X94ZRjipa9reAUHD_MoalP2BB0v2I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d7c3d830-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.820335,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d7c42650-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216204,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwNH0.qCss43xIGmz2d6X94ZRjipa9reAUHD_MoalP2BB0v2I"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d7c42650-4430-11ef-b47c-55a12d3fdb12","responseTime":2,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7dc2467-5aed-400e-9119-44b977397933","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7dc2467-5aed-400e-9119-44b977397933","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:41.973287162Z"}]},"request_id":"542a46d7-6560-40f1-a893-9f9b7cef4992","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216204.0905852} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d7c3d830-4430-11ef-b47c-55a12d3fdb12","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:42.013606797Z"}]},"request_id":"f545a74d-bac0-45e2-b830-4460a9497152","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216204.0912037} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d7c42650-4430-11ef-b47c-55a12d3fdb12","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d7c3d830-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/d7dc2467-5aed-400e-9119-44b977397933? 200 14ms","method":"GET","requestID":"d7c3d830-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/d7dc2467-5aed-400e-9119-44b977397933?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d7c42650-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/42a579a9-406d-4155-90f7-fcdfa05b3027? 200 13ms","method":"GET","requestID":"d7c42650-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/devices/42a579a9-406d-4155-90f7-fcdfa05b3027?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79"},"level":"info","message":"Setting up experiment","requestID":"abef23f3adcbb05cb62437498ebde1d5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"abef23f3adcbb05cb62437498ebde1d5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79"},"level":"info","message":"Successfully locked booking for experiment","requestID":"abef23f3adcbb05cb62437498ebde1d5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"abef23f3adcbb05cb62437498ebde1d5"} device-1 | {"level":"info","message":"postDevicesByDeviceId called","requestID":"d7c90850-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:44Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.149084,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:44Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7dc2467-5aed-400e-9119-44b977397933","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d7c90850-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/d7dc2467-5aed-400e-9119-44b977397933","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216204,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwNH0.qCss43xIGmz2d6X94ZRjipa9reAUHD_MoalP2BB0v2I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d7c90850-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7be085f-20c9-42aa-82c4-eeb66e0785e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"8b15a30c-4285-4240-8464-f6f2d560248b","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216204.1440217} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b4178d06-89a5-463e-a613-aaa44bc55e53","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216204.144496} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"d7c90850-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4' to 'http://localhost/callbacks/experiment'","requestID":"d7c90850-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded","requestID":"d7c90850-4430-11ef-b47c-55a12d3fdb12"} authentication-1 | {"level":"info","message":"POST /token 201 22ms","method":"POST","requestID":"d7ce8690-4430-11ef-8304-45e10b7601d8","responseTime":22,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/d7dc2467-5aed-400e-9119-44b977397933?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 65ms","method":"POST","requestID":"d7c90850-4430-11ef-b47c-55a12d3fdb12","responseTime":65,"status":201,"url":"/devices/d7dc2467-5aed-400e-9119-44b977397933?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"abef23f3adcbb05cb62437498ebde1d5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79"},"level":"info","message":"Attempting to update booking for experiment","requestID":"abef23f3adcbb05cb62437498ebde1d5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79"},"level":"info","message":"Successfully updated booking for experiment","requestID":"abef23f3adcbb05cb62437498ebde1d5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79"},"level":"info","message":"Successfully set up experiment","requestID":"abef23f3adcbb05cb62437498ebde1d5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d7dabb90-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d7db09b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d7db57d0-4430-11ef-b47c-55a12d3fdb12"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79"},"level":"info","message":"Successfully running experiment","requestID":"abef23f3adcbb05cb62437498ebde1d5"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:44Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.885741,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:44Z"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d7dabb90-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216204,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwNH0.qCss43xIGmz2d6X94ZRjipa9reAUHD_MoalP2BB0v2I"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"d7dabb90-4430-11ef-b47c-55a12d3fdb12","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54868","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.643792,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:44Z"} authorization-1 | {"client_addr":"127.0.0.1:52824","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d7db09b0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216204,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwNH0.qCss43xIGmz2d6X94ZRjipa9reAUHD_MoalP2BB0v2I"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"d7db09b0-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52824","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.132437,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:44Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7be085f-20c9-42aa-82c4-eeb66e0785e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8afb2473-c746-4fbe-93e8-0261a2a3b59c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216204.2463088} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d7db57d0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d7db57d0-4430-11ef-b47c-55a12d3fdb12","responseTime":17,"status":200,"url":"/authorize"} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device b7be085f-20c9-42aa-82c4-eeb66e0785e4","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device b7be085f-20c9-42aa-82c4-eeb66e0785e4\n at Object.postDevicesByDeviceIdSignaling (file:///usr/local/lib/node_modules/@crosslab/service-device/app/operations/devices/device/signaling/post.js:44:15)\n at async file:///usr/local/lib/node_modules/@crosslab/service-device/app/generated/routes.js:276:28","status":404,"url":"/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"d7db57d0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7be085f-20c9-42aa-82c4-eeb66e0785e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7be085f-20c9-42aa-82c4-eeb66e0785e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:44.143652554Z"}]},"request_id":"aa6f425e-f565-4e4c-8ca4-07b49a8f49ac","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216204.2582786} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F113ed9c3-baa7-44b6-8bdf-035e63134b79#owner@http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F113ed9c3-baa7-44b6-8bdf-035e63134b79","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"00cddda6-7880-4ea7-9135-158693f93c34","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216204.2617445} device-1 | {"level":"info","message":"POST /devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4/signaling 404 26ms","method":"POST","requestID":"d7db57d0-4430-11ef-b47c-55a12d3fdb12","responseTime":26,"status":404,"url":"/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device b7be085f-20c9-42aa-82c4-eeb66e0785e4"},"status":404}},"level":"error","message":"Could not send status-update message","requestID":"abef23f3adcbb05cb62437498ebde1d5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d7dfc4a0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/query 200 12ms","method":"POST","requestID":"d7dabb90-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39a6af93-93dc-4f56-b78d-e78652d33e84","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216204.2622705} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d7dabb90-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","method":"POST","requestID":"abef23f3adcbb05cb62437498ebde1d5","responseTime":26,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4? 200 38ms","method":"GET","requestID":"d7dabb90-4430-11ef-b47c-55a12d3fdb12","responseTime":38,"status":200,"url":"/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4?"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36: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:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:42.013606797Z"}]},"request_id":"6cee82d5-3b20-4d67-8e3b-78ff8c8758c7","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216204.274598} authorization-1 | {"level":"info","message":"POST /relations/query 200 13ms","method":"POST","requestID":"d7db09b0-4430-11ef-b47c-55a12d3fdb12","responseTime":13,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60c12913-79f8-44da-9901-6b4b15c87857","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216204.2766316} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.492661,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"d7dfc4a0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"d7dfc4a0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79","user":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"abef23f3adcbb05cb62437498ebde1d5"} gateway-1 | {"time_local":"17/Jul/2024:11:36:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.242","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"abef23f3adcbb05cb62437498ebde1d5"} experiment-1 | {"level":"info","message":"POST /experiments? 201 235ms","method":"POST","requestID":"abef23f3adcbb05cb62437498ebde1d5","responseTime":235,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d7db09b0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/42a579a9-406d-4155-90f7-fcdfa05b3027? 200 46ms","method":"GET","requestID":"d7db09b0-4430-11ef-b47c-55a12d3fdb12","responseTime":46,"status":200,"url":"/devices/42a579a9-406d-4155-90f7-fcdfa05b3027?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d7dfc4a0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/42a579a9-406d-4155-90f7-fcdfa05b3027/signaling 200 17ms","method":"POST","requestID":"d7dfc4a0-4430-11ef-b47c-55a12d3fdb12","responseTime":17,"status":200,"url":"/devices/42a579a9-406d-4155-90f7-fcdfa05b3027/signaling"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"03e6dcda9c9948a8a36e3c209f7a0c15","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"03e6dcda9c9948a8a36e3c209f7a0c15","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"17/Jul/2024:11:36:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4/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":"03e6dcda9c9948a8a36e3c209f7a0c15"} device-1 | {"level":"info","message":"OPTIONS /devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4/websocket 200 1ms","method":"OPTIONS","requestID":"03e6dcda9c9948a8a36e3c209f7a0c15","responseTime":1,"status":200,"url":"/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6Il9iTTdsZEdGejFhQnZCMmI5YzVSQTRqVjdsTUh6aGpBbFBDdTBJY05oYW16WFhpOExKZWhPOGw5dHhCODBoOTlfejUtSHp4c2xPQzdCVnBYQnBFa3h3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwNn0.tpMgEDIl-1FkAqJBN30Uhg3SAvSYMRJFOkjRTlndDKQ","level":"info","message":"auth send jwt","requestID":"c38a5a22c210f8e73248196ec8b2ed8b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c38a5a22c210f8e73248196ec8b2ed8b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c38a5a22c210f8e73248196ec8b2ed8b"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.712117,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"c38a5a22c210f8e73248196ec8b2ed8b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4","object_type":"device","payload":{"admin":true,"edgeToken":"_bM7ldGFz1aBvB2b9c5RA4jV7lMHzhjAlPCu0IcNhamzXXi8LJehO8l9txB80h99_z5-HzxslOC7BVpXBpEkxw","iat":1721216206,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6Il9iTTdsZEdGejFhQnZCMmI5YzVSQTRqVjdsTUh6aGpBbFBDdTBJY05oYW16WFhpOExKZWhPOGw5dHhCODBoOTlfejUtSHp4c2xPQzdCVnBYQnBFa3h3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwNn0.tpMgEDIl-1FkAqJBN30Uhg3SAvSYMRJFOkjRTlndDKQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c38a5a22c210f8e73248196ec8b2ed8b","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c38a5a22c210f8e73248196ec8b2ed8b"} gateway-1 | {"time_local":"17/Jul/2024:11:36:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4/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":"c38a5a22c210f8e73248196ec8b2ed8b"} device-1 | {"level":"info","message":"POST /devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4/websocket 200 18ms","method":"POST","requestID":"c38a5a22c210f8e73248196ec8b2ed8b","responseTime":18,"status":200,"url":"/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4/websocket"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"51d30419a1bc54eff5799712ed8d3103","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"51d30419a1bc54eff5799712ed8d3103","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/b7be085f-20c9-42aa-82c4-eeb66e0785e4"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"51d30419a1bc54eff5799712ed8d3103"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwNn0.9g4s6jAh2ouWhnGU5HbaazZ6jzuQyGW-HBU-0nwZpOo","level":"info","message":"auth send jwt","requestID":"17c152dbce8de9cabcdc75582030ddc6"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"17c152dbce8de9cabcdc75582030ddc6","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"17c152dbce8de9cabcdc75582030ddc6"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.269925,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"17c152dbce8de9cabcdc75582030ddc6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216206,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwNn0.9g4s6jAh2ouWhnGU5HbaazZ6jzuQyGW-HBU-0nwZpOo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"17c152dbce8de9cabcdc75582030ddc6","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7be085f-20c9-42aa-82c4-eeb66e0785e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7be085f-20c9-42aa-82c4-eeb66e0785e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:44.143652554Z"}]},"request_id":"e24cb534-29d4-47cc-abe0-4c77b7cdd526","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216206.3345103} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"17c152dbce8de9cabcdc75582030ddc6","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"17c152dbce8de9cabcdc75582030ddc6"} gateway-1 | {"time_local":"17/Jul/2024:11:36:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4? 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":"17c152dbce8de9cabcdc75582030ddc6"} device-1 | {"level":"info","message":"GET /devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4? 200 19ms","method":"GET","requestID":"17c152dbce8de9cabcdc75582030ddc6","responseTime":19,"status":200,"url":"/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4?"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 23ms","method":"POST","requestID":"51d30419a1bc54eff5799712ed8d3103","responseTime":23,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"51d30419a1bc54eff5799712ed8d3103"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwNn0.9g4s6jAh2ouWhnGU5HbaazZ6jzuQyGW-HBU-0nwZpOo","level":"info","message":"auth send jwt","requestID":"f72beba588ab1f64a50fdc13061cd931"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f72beba588ab1f64a50fdc13061cd931","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f72beba588ab1f64a50fdc13061cd931"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:46Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.150741,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"f72beba588ab1f64a50fdc13061cd931","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216206,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwNn0.9g4s6jAh2ouWhnGU5HbaazZ6jzuQyGW-HBU-0nwZpOo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f72beba588ab1f64a50fdc13061cd931","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:42.013606797Z"}]},"request_id":"1c5f47d7-e931-452f-8783-4564273c486e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216206.3597202} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f72beba588ab1f64a50fdc13061cd931","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f72beba588ab1f64a50fdc13061cd931"} gateway-1 | {"time_local":"17/Jul/2024:11:36:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/42a579a9-406d-4155-90f7-fcdfa05b3027? 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":"f72beba588ab1f64a50fdc13061cd931"} device-1 | {"level":"info","message":"GET /devices/42a579a9-406d-4155-90f7-fcdfa05b3027? 200 16ms","method":"GET","requestID":"f72beba588ab1f64a50fdc13061cd931","responseTime":16,"status":200,"url":"/devices/42a579a9-406d-4155-90f7-fcdfa05b3027?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"daddc260-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:49Z"} authorization-1 | {"client_addr":"127.0.0.1:36534","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.475467,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"daddc260-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216204,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwNH0.qCss43xIGmz2d6X94ZRjipa9reAUHD_MoalP2BB0v2I"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"daddc260-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:42.013606797Z"}]},"request_id":"1e4fe57b-906e-4c7c-9765-f0b2e6cda008","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216209.2996657} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"daddc260-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"daddc260-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/42a579a9-406d-4155-90f7-fcdfa05b3027? 200 19ms","method":"GET","requestID":"daddc260-4430-11ef-b47c-55a12d3fdb12","responseTime":19,"status":200,"url":"/devices/42a579a9-406d-4155-90f7-fcdfa05b3027?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ddd97630-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ddda1270-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"client_addr":"127.0.0.1:55772","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.55423,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ddd97630-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216204,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwNH0.qCss43xIGmz2d6X94ZRjipa9reAUHD_MoalP2BB0v2I"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"ddd97630-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55772","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.485264,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ddda1270-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216204,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwNH0.qCss43xIGmz2d6X94ZRjipa9reAUHD_MoalP2BB0v2I"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"ddda1270-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:42.013606797Z"}]},"request_id":"3bb17771-5c02-44f9-9a4d-727a895f1469","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216214.3088913} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"ddda1270-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"continuation_token":"","page_size":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7be085f-20c9-42aa-82c4-eeb66e0785e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7be085f-20c9-42aa-82c4-eeb66e0785e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"},"timestamp":"2024-07-17T11:36:44.143652554Z"}]},"request_id":"d153e4cd-ba00-4e96-afa0-935cb2e513f5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216214.310356} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ddd97630-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ddda1270-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/42a579a9-406d-4155-90f7-fcdfa05b3027? 200 22ms","method":"GET","requestID":"ddda1270-4430-11ef-b47c-55a12d3fdb12","responseTime":22,"status":200,"url":"/devices/42a579a9-406d-4155-90f7-fcdfa05b3027?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ddd97630-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4? 200 27ms","method":"GET","requestID":"ddd97630-4430-11ef-b47c-55a12d3fdb12","responseTime":27,"status":200,"url":"/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ddde0a10-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7be085f-20c9-42aa-82c4-eeb66e0785e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9e319fbd-305a-4cc2-8639-18f2d2dfdf04","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216214.3282473} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.280472,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ddde0a10-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"ddde0a10-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ddde0a10-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4/signaling 200 14ms","method":"POST","requestID":"ddde0a10-4430-11ef-b47c-55a12d3fdb12","responseTime":14,"status":200,"url":"/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"dde0a220-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da08e982-6fab-445a-a0b1-d7441753cc15","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216214.3444355} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.645032,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"dde0a220-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"dde0a220-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"dde0a220-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/42a579a9-406d-4155-90f7-fcdfa05b3027/signaling 200 12ms","method":"POST","requestID":"dde0a220-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/42a579a9-406d-4155-90f7-fcdfa05b3027/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"abef23f3adcbb05cb62437498ebde1d5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79"},"level":"info","message":"Building connection plan","requestID":"abef23f3adcbb05cb62437498ebde1d5"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"5d315428-ae39-449d-a04a-4418581f1db2"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"64f770d4-ffac-478b-a79b-0d084de07d26"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c8a1b6a4-3258-4286-bf3f-9d66261cfc32"}]},"level":"info","message":"Built pairwise service configurations","requestID":"abef23f3adcbb05cb62437498ebde1d5"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"abef23f3adcbb05cb62437498ebde1d5"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"dde31320-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.186749,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"dde31320-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216204,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIwNH0.qCss43xIGmz2d6X94ZRjipa9reAUHD_MoalP2BB0v2I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"dde31320-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","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%2F300b30d8-2477-4ec4-9693-878652aa6963'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]}},"raw_response":{},"request_id":"4225ca76-6dad-4a44-bbe1-729c5eb4519c","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216214.3747911} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bdb66057-4061-4c17-9b80-9f953e18b63e","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216214.3754895} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"dde31320-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"dde31320-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"dde31320-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/62906044-455a-4f12-8d6b-79591e4a2758'","requestID":"dde31320-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/62906044-455a-4f12-8d6b-79591e4a2758'","requestID":"dde31320-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"dde31320-4430-11ef-b47c-55a12d3fdb12"} 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":"dde31320-4430-11ef-b47c-55a12d3fdb12","responseTime":38,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"dde31320-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/62906044-455a-4f12-8d6b-79591e4a2758","device":"42a579a9-406d-4155-90f7-fcdfa05b3027","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/62906044-455a-4f12-8d6b-79591e4a2758","device":"b7be085f-20c9-42aa-82c4-eeb66e0785e4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"abef23f3adcbb05cb62437498ebde1d5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ddee0fa0-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7be085f-20c9-42aa-82c4-eeb66e0785e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0558b63d-e5ac-42d5-9383-7354ff06fd31","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216214.431992} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.411959,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ddee0fa0-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"ddee0fa0-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"device":"42a579a9-406d-4155-90f7-fcdfa05b3027","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"42a579a9-406d-4155-90f7-fcdfa05b3027","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"b7be085f-20c9-42aa-82c4-eeb66e0785e4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b7be085f-20c9-42aa-82c4-eeb66e0785e4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ddee0fa0-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4/signaling 200 16ms","method":"POST","requestID":"ddee0fa0-4430-11ef-b47c-55a12d3fdb12","responseTime":16,"status":200,"url":"/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ddf16b00-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48da86ef-7770-4a8d-9d2e-40cbcc2d2907","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216214.4534545} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.456979,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ddf16b00-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ddf16b00-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ddf16b00-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/42a579a9-406d-4155-90f7-fcdfa05b3027/signaling 200 11ms","method":"POST","requestID":"ddf16b00-4430-11ef-b47c-55a12d3fdb12","responseTime":11,"status":200,"url":"/devices/42a579a9-406d-4155-90f7-fcdfa05b3027/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 2475838536388618625 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:gOXZ\r\na=ice-pwd:iuEjjCkwDSdEDGpiffIvykPJ\r\na=ice-options:trickle\r\na=fingerprint:sha-256 FE:8F:44:90:12:D3:D3:BC:54:7A:24:AD:CA:59:BD:01:BB:8B:54:1A:00:CB:15:43:6D:02:F3:0C:72:97:B5:C0\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"b7be085f-20c9-42aa-82c4-eeb66e0785e4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 4900289365141463734 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE 0\r\na=extmap-allow-mixed\r\na=msid-semantic: WMS\r\nm=application 9 UDP/DTLS/SCTP webrtc-datachannel\r\nc=IN IP4 0.0.0.0\r\na=ice-ufrag:pu1e\r\na=ice-pwd:Yr8z+gs8ZqgmdJmXzd55odIo\r\na=ice-options:trickle\r\na=fingerprint:sha-256 E1:9D:83:E7:05:25:2A:BA:11:CC:22:7E:00:13:23:52:99:6D:C1:83:10:26:41:68:02:B6:7C:F3:D0:86:E5:A3\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"42a579a9-406d-4155-90f7-fcdfa05b3027","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3856330903 1 udp 2113937151 c9fa783f-3bd2-496f-8788-a97c15f413eb.local 33462 typ host generation 0 ufrag pu1e network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"42a579a9-406d-4155-90f7-fcdfa05b3027","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:1995526532 1 udp 1677729535 141.24.211.56 33462 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag pu1e network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"42a579a9-406d-4155-90f7-fcdfa05b3027","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027'"} device-1 | {"content":{"candidate":"candidate:1469856230 1 udp 2113937151 81e040de-06eb-4fa1-81ef-56647a44ad91.local 44283 typ host generation 0 ufrag gOXZ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b7be085f-20c9-42aa-82c4-eeb66e0785e4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"content":{"candidate":"candidate:3300366581 1 udp 1677729535 141.24.211.56 44283 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag gOXZ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b7be085f-20c9-42aa-82c4-eeb66e0785e4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4'"} device-1 | {"device":"b7be085f-20c9-42aa-82c4-eeb66e0785e4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"42a579a9-406d-4155-90f7-fcdfa05b3027","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/62906044-455a-4f12-8d6b-79591e4a2758' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"62906044-455a-4f12-8d6b-79591e4a2758","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b7be085f-20c9-42aa-82c4-eeb66e0785e4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"42a579a9-406d-4155-90f7-fcdfa05b3027","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"b7be085f-20c9-42aa-82c4-eeb66e0785e4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"42a579a9-406d-4155-90f7-fcdfa05b3027","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9a7fc7452c56cdbf199a4ba64b0e83e9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9a7fc7452c56cdbf199a4ba64b0e83e9","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/42a579a9-406d-4155-90f7-fcdfa05b3027"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/62906044-455a-4f12-8d6b-79591e4a2758"}}},"level":"info","message":"received a callback","requestID":"9a7fc7452c56cdbf199a4ba64b0e83e9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"9a7fc7452c56cdbf199a4ba64b0e83e9","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"9a7fc7452c56cdbf199a4ba64b0e83e9"} device-1 | {"device":"42a579a9-406d-4155-90f7-fcdfa05b3027","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"62906044-455a-4f12-8d6b-79591e4a2758","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"62906044-455a-4f12-8d6b-79591e4a2758","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/62906044-455a-4f12-8d6b-79591e4a2758' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"62906044-455a-4f12-8d6b-79591e4a2758","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0abba0428c8e445aaef5295c7d459e00","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0abba0428c8e445aaef5295c7d459e00","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/42a579a9-406d-4155-90f7-fcdfa05b3027"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/62906044-455a-4f12-8d6b-79591e4a2758"}}},"level":"info","message":"received a callback","requestID":"0abba0428c8e445aaef5295c7d459e00"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"ddfc4070-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F62906044-455a-4f12-8d6b-79591e4a2758","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"297394cd-871e-45f7-a1e9-78a9e9389a29","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216214.5234299} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.339589,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/62906044-455a-4f12-8d6b-79591e4a2758","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"ddfc4070-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/62906044-455a-4f12-8d6b-79591e4a2758","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","method":"POST","requestID":"ddfc4070-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"ddfc4070-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"GET /peerconnections/62906044-455a-4f12-8d6b-79591e4a2758 200 7ms","method":"GET","requestID":"ddfc4070-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/peerconnections/62906044-455a-4f12-8d6b-79591e4a2758"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"0abba0428c8e445aaef5295c7d459e00","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"0abba0428c8e445aaef5295c7d459e00"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de001100-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cee5dcb0-d597-4819-afbd-7463efb9364a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216214.5483582} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.692083,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"de001100-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","object_type":"device","rebac_allow":false,"scope_allow":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","method":"POST","requestID":"de001100-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de001100-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/42a579a9-406d-4155-90f7-fcdfa05b3027/signaling 200 7ms","method":"POST","requestID":"de001100-4430-11ef-b47c-55a12d3fdb12","responseTime":7,"status":200,"url":"/devices/42a579a9-406d-4155-90f7-fcdfa05b3027/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de017090-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7be085f-20c9-42aa-82c4-eeb66e0785e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1135958d-50e3-4146-8bb5-4ca92f5ceb96","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216214.5572217} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.878315,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"de017090-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"de017090-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de017090-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4/signaling 200 8ms","method":"POST","requestID":"de017090-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIxNH0.plBP1VK-iTzKVPvM7OAFB8w2GqRlTVq0hfAVCBjW_kY","level":"info","message":"auth send jwt","requestID":"0f4441b882483ae77cea918f9d3ec0ae"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0f4441b882483ae77cea918f9d3ec0ae","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79","requestID":"0f4441b882483ae77cea918f9d3ec0ae"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.063766,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"0f4441b882483ae77cea918f9d3ec0ae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216214,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIxNH0.plBP1VK-iTzKVPvM7OAFB8w2GqRlTVq0hfAVCBjW_kY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0f4441b882483ae77cea918f9d3ec0ae","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79","requestID":"0f4441b882483ae77cea918f9d3ec0ae"} gateway-1 | {"time_local":"17/Jul/2024:11:36:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79 HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0f4441b882483ae77cea918f9d3ec0ae"} experiment-1 | {"level":"info","message":"GET /experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79 200 10ms","method":"GET","requestID":"0f4441b882483ae77cea918f9d3ec0ae","responseTime":10,"status":200,"url":"/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIxNH0.plBP1VK-iTzKVPvM7OAFB8w2GqRlTVq0hfAVCBjW_kY","level":"info","message":"auth send jwt","requestID":"894779e3c9624748d65923e17b3b550f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"894779e3c9624748d65923e17b3b550f","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79","requestID":"894779e3c9624748d65923e17b3b550f"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.652297,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"894779e3c9624748d65923e17b3b550f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"experiment:http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79","object_type":"experiment","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216214,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIxNH0.plBP1VK-iTzKVPvM7OAFB8w2GqRlTVq0hfAVCBjW_kY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"894779e3c9624748d65923e17b3b550f","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79"},"level":"info","message":"Attempting to finish experiment","requestID":"894779e3c9624748d65923e17b3b550f"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"de0abf60-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.122242,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/62906044-455a-4f12-8d6b-79591e4a2758","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"de0abf60-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"peerconnection:http://localhost/peerconnections/62906044-455a-4f12-8d6b-79591e4a2758","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216214,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIxNH0.plBP1VK-iTzKVPvM7OAFB8w2GqRlTVq0hfAVCBjW_kY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"de0abf60-4430-11ef-b47c-55a12d3fdb12","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/62906044-455a-4f12-8d6b-79591e4a2758","device":"b7be085f-20c9-42aa-82c4-eeb66e0785e4","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/62906044-455a-4f12-8d6b-79591e4a2758","device":"42a579a9-406d-4155-90f7-fcdfa05b3027","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/62906044-455a-4f12-8d6b-79591e4a2758' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/62906044-455a-4f12-8d6b-79591e4a2758' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"62906044-455a-4f12-8d6b-79591e4a2758","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bae47541e1d16b4ac021f36ce2e8cbf4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bae47541e1d16b4ac021f36ce2e8cbf4","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F62906044-455a-4f12-8d6b-79591e4a2758': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F62906044-455a-4f12-8d6b-79591e4a2758","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"18319044-db0c-4417-915e-0a9f588d86ad","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216214.6283348} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b002b204-20ef-4ec4-8f93-49c54716410a","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216214.6286108} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5f3bb5caeac5c5191ad853d0468bc040","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/42a579a9-406d-4155-90f7-fcdfa05b3027"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/62906044-455a-4f12-8d6b-79591e4a2758"}}},"level":"info","message":"received a callback","requestID":"bae47541e1d16b4ac021f36ce2e8cbf4"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5f3bb5caeac5c5191ad853d0468bc040","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"de0abf60-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/relations/update"} 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/42a579a9-406d-4155-90f7-fcdfa05b3027"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/62906044-455a-4f12-8d6b-79591e4a2758"}}},"level":"info","message":"received a callback","requestID":"5f3bb5caeac5c5191ad853d0468bc040"} device-1 | {"data":{"peerconnection":"62906044-455a-4f12-8d6b-79591e4a2758","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"de0abf60-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /peerconnections/62906044-455a-4f12-8d6b-79591e4a2758 204 31ms","method":"DELETE","requestID":"de0abf60-4430-11ef-b47c-55a12d3fdb12","responseTime":31,"status":204,"url":"/peerconnections/62906044-455a-4f12-8d6b-79591e4a2758"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called","requestID":"de0fc870-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.757163,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"de0fc870-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963","object":"device:http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4","object_type":"device","payload":{"admin":true,"edgeToken":"LmMw-aPo15B8KEsDm0IZkYg7Ak-iyD9pmvyJ_8rPVCNOZMVh2P213bDtp4C4g20xBGX6dlDqnHdCvRHPe4ydcg","iat":1721216214,"sub":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963","subject_alt":"http://localhost/users/300b30d8-2477-4ec4-9693-878652aa6963"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMwMGIzMGQ4LTI0NzctNGVjNC05NjkzLTg3ODY1MmFhNjk2MyIsImVkZ2VUb2tlbiI6IkxtTXctYVBvMTVCOEtFc0RtMElaa1lnN0FrLWl5RDlwbXZ5Sl84clBWQ05PWk1WaDJQMjEzYkR0cDRDNGcyMHhCR1g2ZGxEcW5IZEN2UkhQZTR5ZGNnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcyMTIxNjIxNH0.plBP1VK-iTzKVPvM7OAFB8w2GqRlTVq0hfAVCBjW_kY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"de0fc870-4430-11ef-b47c-55a12d3fdb12","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7be085f-20c9-42aa-82c4-eeb66e0785e4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7be085f-20c9-42aa-82c4-eeb66e0785e4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"f2535090-a2ae-4d31-a76d-b2d9df9f73e9","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216214.6635895} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0800cc88-debf-4fd6-a668-7c6ec66d94ba","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216214.6638572} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"de0fc870-4430-11ef-b47c-55a12d3fdb12","responseTime":8,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded","requestID":"de0fc870-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"DELETE /devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4 204 29ms","method":"DELETE","requestID":"de0fc870-4430-11ef-b47c-55a12d3fdb12","responseTime":29,"status":204,"url":"/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79"},"level":"info","message":"Successfully finished experiment","requestID":"894779e3c9624748d65923e17b3b550f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de167f30-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F42a579a9-406d-4155-90f7-fcdfa05b3027","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7521010b-dbc7-4c6f-98bc-aceb4dfafab1","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216214.6976812} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.977547,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"de167f30-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"de167f30-4430-11ef-b47c-55a12d3fdb12","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"de167f30-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/42a579a9-406d-4155-90f7-fcdfa05b3027/signaling 200 12ms","method":"POST","requestID":"de167f30-4430-11ef-b47c-55a12d3fdb12","responseTime":12,"status":200,"url":"/devices/42a579a9-406d-4155-90f7-fcdfa05b3027/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"de18c920-4430-11ef-b47c-55a12d3fdb12"} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Received request.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F113ed9c3-baa7-44b6-8bdf-035e63134b79': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F113ed9c3-baa7-44b6-8bdf-035e63134b79","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F300b30d8-2477-4ec4-9693-878652aa6963"}]},"store_id":"01J307J7F6YHBB9AV44W9YF77K","writes":null},"raw_response":{},"request_id":"68ce3eb1-3703-4317-94ed-29c5f58f8483","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216214.7115378} authorization-1 | {"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","contextual_tuples":null,"store_id":"01J307J7F6YHBB9AV44W9YF77K","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7be085f-20c9-42aa-82c4-eeb66e0785e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"196e8101-3736-4bea-b88e-98edbd2b10f5","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216214.711669} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:56666","raw_request":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","store_id":"01J307J7F6YHBB9AV44W9YF77K"},"raw_response":{"authorization_model":{"id":"01J307J7G9GXKMS3M0EJJCCVXJ","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9e76518e-7688-44b4-a79f-939148498d94","store_id":"01J307J7F6YHBB9AV44W9YF77K","subsystem":"openfga","timestamp":1721216214.7119942} authorization-1 | {"client_addr":"127.0.0.1:55768","level":"info","msg":"Sent response.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.552038,"resp_status":200,"subsystem":"opa","time":"2024-07-17T11:36:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4","openfga":{"authorization_model_id":"01J307J7G9GXKMS3M0EJJCCVXJ","store":"01J307J7F6YHBB9AV44W9YF77K"},"requestID":"de18c920-4430-11ef-b47c-55a12d3fdb12","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"de18c920-4430-11ef-b47c-55a12d3fdb12","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 24ms","method":"POST","requestID":"894779e3c9624748d65923e17b3b550f","responseTime":24,"status":200,"url":"/relations/update"} 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/b7be085f-20c9-42aa-82c4-eeb66e0785e4/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"de18c920-4430-11ef-b47c-55a12d3fdb12"} device-1 | {"level":"info","message":"POST /devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4/signaling 404 10ms","method":"POST","requestID":"de18c920-4430-11ef-b47c-55a12d3fdb12","responseTime":10,"status":404,"url":"/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4/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","requestID":"894779e3c9624748d65923e17b3b550f"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79","requestID":"894779e3c9624748d65923e17b3b550f"} gateway-1 | {"time_local":"17/Jul/2024:11:36:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79 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":"894779e3c9624748d65923e17b3b550f"} experiment-1 | {"level":"info","message":"DELETE /experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79 204 163ms","method":"DELETE","requestID":"894779e3c9624748d65923e17b3b550f","responseTime":163,"status":204,"url":"/experiments/113ed9c3-baa7-44b6-8bdf-035e63134b79"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"bae47541e1d16b4ac021f36ce2e8cbf4","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"bae47541e1d16b4ac021f36ce2e8cbf4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 141ms","method":"POST","requestID":"5f3bb5caeac5c5191ad853d0468bc040","responseTime":141,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.145","http_referrer":"","http_user_agent":"node-fetch","requestID":"5f3bb5caeac5c5191ad853d0468bc040"} gateway-1 | {"time_local":"17/Jul/2024:11:36:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"10.778","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"de82d1c1fc6c2fea88d0f1e135aba044"} gateway-1 | {"time_local":"17/Jul/2024:11:36:54 +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.481","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7a132a719b9e2e893600ebf38bd20f83"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/42a579a9-406d-4155-90f7-fcdfa05b3027' closed"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b7be085f-20c9-42aa-82c4-eeb66e0785e4' closed"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a480689f72938a5a6f96d8d4e2e0ed16","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a480689f72938a5a6f96d8d4e2e0ed16","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/b7be085f-20c9-42aa-82c4-eeb66e0785e4"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"a480689f72938a5a6f96d8d4e2e0ed16"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 2ms","method":"POST","requestID":"a480689f72938a5a6f96d8d4e2e0ed16","responseTime":2,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"17/Jul/2024:11:36:54 +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":"a480689f72938a5a6f96d8d4e2e0ed16"} authentication-1 exited with code 0 device-1 exited with code 0 federation-1 exited with code 0 authorization-1 exited with code 0 experiment-1 exited with code 0 gateway-1 exited with code 0